目录
1. 字典(无序,唯一的映射类型)
- 采取键值对存储(key-value)
- 哈希函数运算
- key必须不可变(整型,字符串,元组)
- 字典采取以键值对为标准进行存储
- 键是唯一的
1.1 增 .setdefault()
若有该键则不对值进行修改,否则添加设定值
dic1 = {'name': 'zhao', 'age': 26, 'salary': 2000}
print(dic1)
dic1.setdefault('name', 'ren')
print(dic1)
dic1.setdefault('like', 'meat')
print(dic1)
演示:

1.2 删
dic = {'name': 'zhao', 'age': 26, 'salary': 2000}
del dic['name'] #根据键删除键值对
dic.pop('age') #根据键删除键值对,并返回键对应的值
dic.popitem() #随机删除一组,返回键值对元组,但是每次重复运行删除的一样
dic.clear() #清空,但保留字典对象
del dic #删除字典对象
演示:

1.3 改
dic1 = {'name': 'zhao', 'age': 26, 'salary': 2000}
dic2 = {'name': 'xu', 'height': 180, 'like': 'meat'}
dic1['name'] = 'hah' #通过键修改值
dic1.update(dic2) #将dic2的内容更新到dic1中,有相同键则覆盖值,没有相同键增加;无返回值,dic1更新,dic2不变
演示:

1.4 查
dic1 = {'name': 'zhao', 'age': 26, 'salary': 2000}
dic1['name'] #通过键查值
dic1.keys() #返回dict_keys类型,可用list()进行强制类型转换
dic1.values() #返回dict_values类型,可用list()进行强制类型转换
dic1.items() #返回dict_items类型,可用list()进行强制类型转换, 元素为元组(tuple)
演示:

1.5 .fromkeys() 操作创建
dic = {}.fromkeys(['host1', 'host2', 'host3'], 67)
dic
dic['host1'] = 56
dic1
演示:

另外一种操作涉及深浅拷贝
dic = {}.fromkeys(['host1', 'host2', 'host3'], [67, 89,90])
dic
dic['host1'][1] = 56
dic
演示:

1.6 字典嵌套
dic = {
'Hubei':{
'Wuhan':{},
'Xiangyang':{},
'Huangshi':{}
},
'Henan':{},
'Shanxi':{}
}
增删改查按照正常字典的逻辑操作就可以
1.7 字典排序
dic = {'name': 'zhao', 'age': '26', 'salary': '2000'}
#以下按照首字母ASCII码位置排序,返回列表
sorted(dic) #返回键组成的列表
sorted(dic.keys()) #返回键组成的列表
sorted(dic.values()) #返回值组成的列表
sorted(dic.items()) #返回键值对元组组成的列表
演示:

1.8 字典遍历
dic = {'name': 'zhao', 'age': '26', 'salary': '2000'}
for i in dic: #默认就是遍历键,等价于for i in dic.keys()
print(i, dic[i])
#不建议用下面的方式找键对应的值,效率低
for i, v in dic.items():
print(i, v)
演示:

2. id() 查看变量地址
a = 10
id(a) #返回地址值
本文深入探讨了Python字典的使用,包括增(setdefault())、删、改、查的方法,以及如何通过.fromkeys()创建字典。还介绍了字典的嵌套操作、排序和遍历技巧。同时,讲解了id()函数用于查看变量内存地址的用法。
4363

被折叠的 条评论
为什么被折叠?



