一; 定义
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))
输出结果如下图:
更多坑,持续更新