大家好,欢迎来到IT知识分享网。
字典的基本操作
一、创建字典
1、先创建空字典,再添加元素(键值对)
- 给字典按键赋值时,如果键不存在,则添加新元素,否则就是用新值替换旧值
names = dict()
names[50] = '中华'
names[40] = '荷花'
names[30] = '宽窄'
names[20] = '利群'
print(names)
IT知识分享网
输出结果:
IT知识分享网{
50: '中华', 40: '荷花', 30: '宽窄', 20: '利群'}
2、直接创建包含若干键值对的字典
In [7]:cities = {
1: '北京', 2: '上海'}
In [8]:cities
Out[8]: {
1: '北京', 2: '上海'}
二、读取字典元素 – 按键取值
- 按键取值,如果键存在,那么返回值;如果键不存在,那么抛出异常
IT知识分享网In [9]:names
Out[9]: {
50: '中华', 40: '荷花', 30: '宽窄', 20: '利群'}
In [10]:names[50]
Out[10]: '中华'
In [11]:names[10]
Traceback (most recent call last):
File "<ipython-input-11-f29237377a3d>", line 1, in <module>
names[10]
KeyError: 10
三、添加与更新字典元素
- 按键赋值,添加新元素(不存在的键)
- 如果键存在,则更新旧元素的值
In [12]:names
Out[12]: {
50: '中华', 40: '荷花', 30: '宽窄', 20: '利群'}
In [13]:names[10] = '牡丹' # 添加元素
In [14]:names[20] = '黄鹤楼' # 更新元素
In [15]:names
Out[15]: {
50: '中华', 40: '荷花', 30: '宽窄', 20: '黄鹤楼', 10: '牡丹'}
- 可以将一个字典拆分成两个列表:键列表和值列表
- 利用
keys()
返回键列表 - 利用
values()
返回值列表
In [15]:names
Out[16]: {
50: '中华', 40: '荷花', 30: '宽窄', 20: '黄鹤楼', 10: '牡丹'}
In [17]:names.keys() # 键列表
Out[17]: dict_keys([50, 40, 30, 20, 10])
In [18]:names.values() # 值列表
Out[18]: dict_values(['中华', '荷花', '宽窄', '黄鹤楼', '牡丹'])
- 利用
update()
也可以进行插入或更新操作
In [19]:names
Out[19]: {
50: '中华', 40: '荷花', 30: '宽窄', 20: '黄鹤楼', 10: '牡丹'}
In [20]:names.update({
10: '云烟', 5: '黄山'}) # 更新'10',添加'5'
In [21]:names
Out[21]: {
50: '中华', 40: '荷花', 30: '宽窄', 20: '黄鹤楼', 10: '云烟', 5: '黄山'}
四、遍历字典元素
- 利用字典的
key()
函数拿到键列表
names = {
50: '中华', 40: '荷花', 30: '宽窄', 20: '黄鹤楼', 10: '云烟', 5: '黄山'}
for key in names.keys():
print('{}{}元'.format(names[key], key))
# 也可以用 get() 获取该键所对应的值
# print('{}{}元'.format(names.get(key), key))
输出结果:
中华50元
荷花40元
宽窄30元
黄鹤楼20元
云烟10元
黄山5元
五、删除字典元素
1、利用 del
命令删除
- 删除的键不存则抛出异常
In [21]:names
Out[21]: {
50: '中华', 40: '荷花', 30: '宽窄', 20: '黄鹤楼', 10: '云烟', 5: '黄山'}
In [22]:del names[50]
In [23]:names
Out[23]: {
40: '荷花', 30: '宽窄', 20: '黄鹤楼', 10: '云烟', 5: '黄山'}
2、利用字典的 pop()
函数删除
- 删除的键不存则抛出异常
In [23]: names
Out[23]: {
40: '荷花', 30: '宽窄', 20: '黄鹤楼', 10: '云烟', 5: '黄山'}
In [24]: names.pop(5)
Out[24]: '黄山'
In [25]: names
Out[25]: {
40: '荷花', 30: '宽窄', 20: '黄鹤楼', 10: '云烟'}
六、基于两个等长列表创建字典
- 基于城市列表和市花列表
cities = ['北京', '上海', '广州 ']
flowers = ['菊花', '玉兰', '木棉']
city_flower = dict(zip(cities, flowers))
print(city_flower)
输出结果:
{
'北京': '菊花', '上海': '玉兰', '广州 ': '木棉'}
七、关于字典元素获取的缺省值
get()
函数返回指定键的值。get()
语法:dict.get(key, default)
key
– 字典中要查找的键。default
– 如果指定键的值不存在时,返回的默认值。默认为 None- 返回指定键的值,如果键不在字典中返回 default 默认值
names = {
40: '荷花', 30: '宽窄', 20: '黄鹤楼', 10: '云烟'}
name_1 = names.get(40)
name_2 = names.get(50)
name_3 = names.get(50, '不存在')
name_4 = names.get(30, '不存在')
print('name_1:{}\nname_2:{}\nname_3:{}\nname_4:{}'.format(name_1, name_2, name_3, name_4))
输出结果:
name_1:荷花
name_2:None
name_3:不存在
name_4:宽窄
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/13017.html