字典~~ 最常用的数据类型之一

一; 定义

1,dictionary 字典, 用{}定义,通常存储描述一个物体的相关信息,字典是无序的,使用键值对存储数据,键值对之间用,逗号分隔

2, key 可以理解成索引,值 value 是数据,key和value之间用:分隔, key必须是唯一的,可以使str ,数字,元祖。通常默认用str类型(因为str是不可变数据类型), value可以是任何的数据类型。(列表,字典,元祖,数字,字符串等等)

zxz = {
    "name": "菜鸟",
    "age": 18,
    "gender": "man",
    "height": 1.75
}

二;字典常用的操作

1,取值

通过key取值,

(1) 字典[key]   如果key不存在会报错

print(zxz["age"]) 

为什么会报错?参考列表的索引不存在的时候的报错,因为key在字典中就是索引

(2) 字典.get(key)  如果key不存在也不会报错,返回为None,参考函数调用

print(zxz.get('gender'))

2,添加,修改键值对

(1),字典["key"] = value  , 如果key已经存在,则修改值,如果不存在则添加key-value到字典中

zxz = {
    "name": "菜鸟",
    "age": 18,
    "gender": "man",
    "height": 1.75
}
print(zxz["age"])
print(zxz.get('gender'))
zxz["phone"] = 110  # 新增key-value
zxz["age"] = 25  # key已经存在,修改原来的key的value值
print(zxz)

(2),字典.update(字典2)   将字典2中的数据更新到字典1中

zxz_info = {
    "wife": "菜鸡",
    "money": 100
}
zxz.update(zxz_info)
print(zxz)
zxz["zxz_info"] = zxz_info  # 将字典2作为字典1的值
print(zxz)

3,删除

(1), del 字典[key]  删除某个键值对

del zxz["age"]
print(zxz)

(2), 字典.pop(key)   删除指定key的键值对

zxz.pop("gender")
print(zxz)

(3), 字典.clear()  清空整个字典

zxz.clear()
print(zxz)

4,获取所有键,所有值,所有键值对,都是以元祖的形式返回

(1) 字典.keys()  获取字典中所有的键名

all_keys = zxz.keys()
print(list(all_keys))  # 使用list()函数,将返回的all_keys元祖转换成list

(2) 字典.values()  获取字典中所有的值

all_values = zxz.values()
print(list(all_values))  # 使用list()函数,将返回的all_values元祖转换成list

(3) 字典.items()  获取字典中所有的键值对。以元祖的形式返回

all = zxz.items()
print(list(all))

不转换list的输出结果如下图;

元祖嵌套列表在嵌套元祖

list转换后的输出结果如下图:

去掉了最外面的元祖

三,集合(初级只做最简单的了解)

跟list的形式一样,只不过将[] 换成了{}

用法,列表去重

s = set(列表)

eg:

aa = [11, 11, 22, 22, "zxz", "菜鸡"]
a = set(aa)
print(a)

输出结果如下图:

如果想要再次获得列表,则可以直接用list()函数

aa = [11, 11, 22, 22, "zxz", "菜鸡"]
a = set(aa)
print(list(a))

输出结果如下图:

 

 

更多坑,持续更新

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值