【大数据 / Python / KEN】Python 字典(9)

字典

首次发布时间:2020/8/3
最后修改时间:2020/8/3
本系列文章基于 python3 版本

摘要
  • 字典介绍
  • 格式
  • 通过键(key)访问值(value)
  • 字典的常见操作
    • 修改元素
    • 添加元素
    • 删除元素

字典介绍


各位应该都用过新华字典,查字的时候,常常会用到按拼音查字,可以快速帮我们找到想找的字

  • 比如想找 字,先找 d,再找 a,就可以找到 的谐音字,然后可以从中找到
  • dict = {'d':'a'} 就是字典的格式

格式


  • 在程序中,字典的格式:
  • China = {'palace':'ImperialPalace', 'area':720000, 'city':'Beijing'}
  • dict = {key:value}
  • 字典和列表一样,可以存储 多个数据
  • 字典需要查找某个 值(value) 的时候,是根据 key 来获取的
  • 字典的每个元素由 2 部分组成,键 : 值,例如【‘city’:‘Beijing’】

通过键(key)访问值(value)


通过键(key)来访问值(value)
China = {'palace':'ImperialPalace', 'area':720000, 'city':'Beijing'}
print(China['palace'])
  • 输出结果:
ImperialPalace
如果访问的键不存在,那么就会报错:
China = {'palace':'ImperialPalace', 'area':720000, 'city':'Beijing'}

print(China['country'])
  • 输出结果:
Traceback (most recent call last):
  File "test.py", line 2, in <module>
    print(China['country'])
KeyError: 'country
get() 方法
  • 如果不确定访问的键(key)是否存在,而又想获取到相应的值(value),可以用 get() 方法
  • get() 方法可以设置默认值,当相应的 key 不存在时,则返回默认值,而不会报错
  • key 不存在,而且没有默认值时,就返回 None
China = {'palace':'ImperialPalace', 'area':720000, 'city':'Beijing'}

print(China.get('city'))  # key 存在就返回相应的 value

print(China.get('country'))  # key 不存在,就返回 None

print(China.get('country', 'China'))  # key 不存在,就返回默认值 'China'
  • 输出结果
Beijing
None
China

字典的常见操作


修改元素
  • 字典的每个元素中的数据都是可以修改的,只要能通过 key 找到,就可以修改
China = {'palace':'ImperialPalace', 'area':720000, 'city':'Beijing'}

China['area'] = 730000

print(China['area'])
  • 输出结果:
730000
添加元素
  • 上面说过,当访问不存在的 key 时会报错
  • 但是在赋值时,通过 变量名[key] = value 的方式,可以创建新的键值对,不会报错
China = {'palace':'ImperialPalace', 'area':720000, 'city':'Beijing'}

China['country'] = 'China'

print(China)
  • 输出结果:
{'palace': 'ImperialPalace', 'area': 720000, 'city': 'Beijing', 'country': 'China'}
删除元素
  • 删除字典的元素,有两种方式:
    • del:删除指定的元素,或删除整个字典
    • clear():清空整个字典
  • del 删除指定元素
China = {'palace':'ImperialPalace', 'area':720000, 'city':'Beijing'}

China['country'] = 'China'

print(China)

del China['country']

print(China)
  • 输出结果:
{'palace': 'ImperialPalace', 'area': 720000, 'city': 'Beijing', 'country': 'China'}
{'palace': 'ImperialPalace', 'area': 720000, 'city': 'Beijing'}
  • del 删除整个字典
China = {'palace':'ImperialPalace', 'area':720000, 'city':'Beijing'}

print(China)

del China

print(China)  # 此时字典已被删除,所以打印字典会报错
  • 输出结果:
{'palace': 'ImperialPalace', 'area': 720000, 'city': 'Beijing'}
Traceback (most recent call last):
  File "test.py", line 7, in <module>
    print(China)
NameError: name 'China' is not defined
  • clear() 清空整个字典:
China = {'palace':'ImperialPalace', 'area':720000, 'city':'Beijing'}

print(China)

China.clear()

print(China)
  • 输出结果:
{'palace': 'ImperialPalace', 'area': 720000, 'city': 'Beijing'}
{}

clear() 会清空字典的元素,但是不会把字典删除掉

查看字典中键值对(key:value)的个数
  • len()
China = {'palace':'ImperialPalace', 'area':720000, 'city':'Beijing'}

print(len(China))
  • 输出结果:
3
查看字典所有的 key
  • keys()
  • 返回一个包含字典所有 key 的列表
China = {'palace':'ImperialPalace', 'area':720000, 'city':'Beijing'}

print(China.keys())
  • 输出结果:
dict_keys(['palace', 'area', 'city'])
查看字典所有的 value
  • values()
  • 返回一个包含字典所有 value 的列表
China = {'palace':'ImperialPalace', 'area':720000, 'city':'Beijing'}

print(China.values())
  • 输出结果:
dict_values(['ImperialPalace', 720000, 'Beijing'])
查看字典中的元素
  • items()
  • 返回一个包含所有 (键,值)元组 的列表
China = {'palace':'ImperialPalace', 'area':720000, 'city':'Beijing'}

print(China.items())
  • 输出结果:
dict_items([('palace', 'ImperialPalace'), ('area', 720000), ('city', 'Beijing')])
判断某个 key 是否在字典中
  • dict.__contains__(key)
    • 如果 key 在字典中,返回 True,否则返回 False
China = {'palace':'ImperialPalace', 'area':720000, 'city':'Beijing'}

print(China.__contains__('palace'))

print(China.__contains__('country'))
  • 输出结果:
True
False
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值