0
点赞
收藏
分享

微信扫一扫

【Python】第六部分 字典

承蒙不弃 2022-04-30 阅读 54
python

【Python】第六部分 字典


文章目录


6. 字典

6.1 什么是字典?

  字典的实现原理与查字典类似,查字典是先根据部首或者拼音进行查找相对应的页码,在Python中字典是根据key去查找value的位置。

6.2 字典的特点

  1. 字典中的所有元素都是一个key-value对,key不允许重复,但是value可以重复
  2. 字典中的元素都是无序的
  3. 字典的key必须是不可变的对象
  4. 字典也可以根据需要动态地伸缩
  5. 字典会浪费较大的内存空间

6.3 字典的创建

  1. 直接写{ }
  2. 使用 dict( )函数
a = {'name': 'Jack', 'age': 18, 'gender': 'male'}
b = dict(name='mark', age=30, gender='male')
print(a, type(a))
print(b, type(b))

6.4 字典元素的获取(查找字典)

  1. 字典名.[key]
  2. 字典名.get(key)
  3. 两种方法的区别:
    • get()获取不到指定的key,返回的None,而第一种方法则是报错
    • get()可以传第二个参数,当查找不到指定的key的时候会返回该值
c = {'name': 'Jane', 'age': 19, 'gender': 'female'}
# 1. 字典名[key]
print(c['name'])  # Jane

# 2. 字典名.get(key)
print(c.get('gender'))  # female

print(c.get('address', 'China'))  # China
# get()和第一种方法的区别是:
# 获取不到指定的key,返回的None,而第一种方法则是报错
# get()可以传第二个参数,当查找不到指定的key的时候会返回该值

6.5 判断key是否存在字典中

d = {'name': 'Jane', 'age': 19, 'gender': 'female'}
print('name' in d)  # True
print('name' not in d)  # False

6.6 字典的增删改

e = {'name': 'Jane', 'age': 19, 'gender': 'female'}

del e['name']  # 删除指定的键值对
print(e)  # {'age': 19, 'gender': 'female'}

e['name'] = 'Mark'  # 增加键值对
print(e)  # {'age': 19, 'gender': 'female', 'name': 'Mark'}

e['age'] = 30  # 修改值
print(e)  # {'age': 30, 'gender': 'female', 'name': 'Mark'}

e.clear()  # 清空所有的元素
print(e)  # {}

6.7 获取字典视图

  1. 字典名.keys()      获取所有的
  2. 字典名.values()    获取所有的
  3. 字典名.items()     获取所有的键值对
# 字典名.keys() 获取所有的键
d = {'name': 'Jane', 'age': 19, 'gender': 'female'}
print(d.keys())  # dict_keys(['name', 'age', 'gender'])
print(type(d.keys()))  # <class 'dict_keys'>
# 将其转换为列表
print(list(d.keys()))  # ['name', 'age', 'gender']


# 字典名.values() 获取所有的值
print(d.values())  # dict_values(['Jane', 19, 'female'])
print(type(d.values()))  # <class 'dict_values'>
# 将其转换为列表
print(list(d.values()))  # ['Jane', 19, 'female']


# 字典名.items() 获取所有的键值对
print(d.items())  # dict_items([('name', 'Jane'), ('age', 19), ('gender', 'female')])
print(type(d.items()))  # <class 'dict_items'>
# 将其转换为列表
print(list(d.items()))  # [('name', 'Jane'), ('age', 19), ('gender', 'female')]


6.8 字典元素的遍历

f = {'name': 'Jane', 'age': 19, 'gender': 'female'}
for item in f:
    print(item, f[item], f.get(item))

6.9 字典的生成式

# 例如:下面的两个列表将他们进行打包生成字典
str1 = ['name', 'age', 'gender']
str2 = ['Jack', 18, 'female']

# i: j ,以i作为键,以j作为值,使用内置的zip()
dic = {i: j for i, j in zip(str1, str2)}
print(dic)  # {'name': 'Jack', 'age': 18, 'gender': 'female'}

总结

以上就是今天要讲的内容,希望对大家有所帮助!!!

举报

相关推荐

Github贡献PR六部曲

第六章 字典(3)

git记录(一部分一部分加)

0 条评论