【Python】第六部分 字典

导读:本篇文章讲解 【Python】第六部分 字典,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

【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'}

总结

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/82895.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!