python学习-字典的增删改查

Posted ershoupaoche

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python学习-字典的增删改查相关的知识,希望对你有一定的参考价值。

1 dic1 = {name:paoche,
2         age:19,
3         active:[beijing,hebei],
4         id:{wangyi:skmdod008b,
5               sina:skmdod00bc
6               }
7         }

一、字典的增

方法1:直接新增键值对,若无此键则新增键值对,有此键则修改值

1 dic1[high] = 180      #没有键值对,则追加
2 dic1[age] = 30        #有键值,则修改
3 print(dic1)
4 """
5 结果为:
6 {‘name‘: ‘paoche‘, ‘age‘: 19, ‘active‘: [‘beijing‘, ‘hebei‘], ‘id‘: {‘wangyi‘: ‘skmdod008b‘, ‘sina‘: ‘skmdod00bc‘}}
7 {‘name‘: ‘paoche‘, ‘age‘: 30, ‘active‘: [‘beijing‘, ‘hebei‘], ‘id‘: {‘wangyi‘: ‘skmdod008b‘, ‘sina‘: ‘skmdod00bc‘}, ‘high‘: 180}
8 """

方法2:通过 setdefault()方法,若无此键则新增键值对,有此键则不做任何操作

1 dic1.setdefault(weight,185)           #没有键值对,则追加
2 dic1.setdefault(name,xiaobai)       #有键值,则不做任何操作
3 print(dic1)
4 """
5 结果为:
6 {‘name‘: ‘paoche‘, ‘age‘: 19, ‘active‘: [‘beijing‘, ‘hebei‘], ‘id‘: {‘wangyi‘: ‘skmdod008b‘, ‘sina‘: ‘skmdod00bc‘}, ‘weight‘: 185}
7 """

 

二、字典的删

方法1:使用 pop() 方法,按键删除,返回被删除的键值对中的值,没有对应的键则报错,可以设置没有键时返回的值

1 print(dic1.pop(id))           #按键删除,返回被删除的键值对中的值,没有对应的键则报错
2 print(dic1.pop(id,None))      #按键删除,若没有该键,则返回指定的值,一般返回None,也可以是任意内容
3 print(dic1)
4 """
5 结果为:
6 {‘wangyi‘: ‘skmdod008b‘, ‘sina‘: ‘skmdod00bc‘}
7 None
8 {‘name‘: ‘paoche‘, ‘age‘: 19, ‘active‘: [‘beijing‘, ‘hebei‘]}
9 """

方法2:使用 popitem() 方法,随机删除键值对,返回被删除键值组成的元组

1 print(dic1.popitem())       #随机删除,返回被删键值组成的元组
2 """
3 结果为:
4 (‘id‘, {‘wangyi‘: ‘skmdod008b‘, ‘sina‘: ‘skmdod00bc‘})
5 """

方法3:使用 clear() 方法,清空字典,返回值为None

1 print(dic1.clear())     #返回None
2 print(dic1)
3 """
4 结果为:
5 None
6 {}
7 """

方法4:使用del,删除指定的键值对(没有键则报错),或者删除整个字典

1 del dic1[id]
2 print(dic1)
3 del dic1
4 """
5 结果为:
6 {‘name‘: ‘paoche‘, ‘age‘: 19, ‘active‘: [‘beijing‘, ‘hebei‘]}
7 """

 

三、字典的改

方法1:通过键,直接改值

1 dic1[age] = 30

方法2:使用 update() 方法

 1 dic2 = {
 2     name:paoche,
 3     age:19
 4 }
 5 dic3 = {
 6     age:30,
 7     weight:180
 8 }
 9 dic2.update(dic3)    #将dic3中的数据更新dic2,有则修改,没有则新加
10 print(dic2)
11 """
12 结果为:
13 {‘name‘: ‘paoche‘, ‘age‘: 30, ‘weight‘: 180}
14 """

 

四、字典的查

方法1:直接通过键查询值,没有该键则报错

1 print(dic1[age])
2 ‘‘‘
3 结果为:
4 19
5 ‘‘‘

方法2:使用 get() 方法查询键对应的值,返回值,没有该键则返回None,可设置返回值

1 print(dic1.get(age))
2 print(dic1.get(age1))
3 print(dic1.get(age1,没有对应的键))
4 ‘‘‘
5 结果为:
6 19
7 None
8 没有对应的键
9 ‘‘‘

方法3:使用 keys() 方法,查询所有的键,返回列表

1 print(dic1.keys())
2 ‘‘‘
3 结果为:
4 dict_keys([‘name‘, ‘age‘, ‘active‘, ‘id‘])
5 ‘‘‘

方法4:使用 values() 方法,查询所有的值,返回所有值组成的列表

1 print(dic1.values())
2 ‘‘‘
3 结果为:
4 dict_values([‘paoche‘, 19, [‘beijing‘, ‘hebei‘], {‘wangyi‘: ‘skmdod008b‘, ‘sina‘: ‘skmdod00bc‘}])
5 ‘‘‘

方法5:使用 items() 方法,获取所有键值对,返回列表,每个元素为键值对组成的元组

1 print(dic1.items())
2 ‘‘‘
3 结果为:
4 dict_items([(‘name‘, ‘paoche‘), (‘age‘, 19), (‘active‘, [‘beijing‘, ‘hebei‘]), (‘id‘, {‘wangyi‘: ‘skmdod008b‘, ‘sina‘: ‘skmdod00bc‘})])
5 ‘‘‘

items()取出的列表可以直接赋值给变量使用

1 for k,v in dic1.items():
2     print(k,v)
3 ‘‘‘
4 结果为:
5 name paoche
6 age 19
7 active [‘beijing‘, ‘hebei‘]
8 id {‘wangyi‘: ‘skmdod008b‘, ‘sina‘: ‘skmdod00bc‘}
9 ‘‘‘

 

以上是关于python学习-字典的增删改查的主要内容,如果未能解决你的问题,请参考以下文章

python3-字典的增删改查

Python 字典的增删改查

python 3.0 字典的增删改查

python之字典的增删改查

python-11-字典的增删改查

python序列(列表,元组,字典)的增删改查