python学习笔记——字典注意点总结

字典

  1. 键值对的无序可变序列
  2. 键值对包含键对象值对象
  3. 列表字典集合这些可变对象不能作为“”;通常整数浮点数元组字符串等可用作“”。
  4. “键”不可重复,后出现的相同键值对会把先前的覆盖。
    比如:
a = {'name':'sirui','age':23,'job':'student'}

创建

  1. {}
  2. dict()
  3. a = dict([('name','sirui'),("age",23)])

在这里插入图片描述
注意可以创建键值为空的字典哦

字典元素的访问

在这里插入图片描述
2. 通过get()获得,(推荐使用)

a.get('name')
  1. 列出所有键值对
a.items()
  1. 列出所有的键
a.keys()
  1. 列出所有的值
a.values()
  1. 键值对的个数
len(a)
  1. 检测某个键是否在字典中
'name' in a

增加键值对

在这里插入图片描述在这里插入图片描述

删除

在这里插入图片描述
在这里插入图片描述

序列解包

在这里插入图片描述
在这里插入图片描述

复杂表格的数据存储

将列表和字典综合嵌套,将表格数据用字典和列表存储并实现访问。
所有的数据都可以用表格来表示。
举例:
在这里插入图片描述

 = {'name': '高小一', 'age': 18, 'salary': 30000, 'city': '北京'}
r2 = {'name': '高小二', 'age': 19, 'salary': 20000, 'city': '上海'}
r3 = {'name': '高小五', 'age': 20, 'salary': 10000, 'city': '深圳'}
tb = [r1, r2, r3]

# 获得第二行人员的薪资
print(tb[1].get('salary'))
# 打印表中所有人的薪资
for i in range(len(tb)):  # i = 0、1、2……
    print(tb[i].get('salary'))
# 打印所有数据
for i in range(len(tb)):
    print(tb[i].get('name'), tb[i].get('age'), tb[i].get('salary'), tb[i].get('city'))

输出

20000
30000
20000
10000
高小一 18 30000 北京
高小二 19 20000 上海
高小五 20 10000 深圳

字典的核心底层原理48

字典对象的核心是散列表,散列表是一个稀疏数组(总是有空白元素的数组),数组的每个单元叫bucket,每个bucket有两个部分,一个是键对象的引用,一个是值对象的引用。
由于所有bucket结构和大小一致,我们可以用偏移量(索引)来读取指定bucket。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_48929099/article/details/107689224
今日推荐