Python-字典中的所有方法及用法
Posted Aspirantlu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python-字典中的所有方法及用法相关的知识,希望对你有一定的参考价值。
1. setdefault使用
# 有则不变,无则增加
dic1 = 'name': 'lucy', 'age': 18
dic1.setdefault('age', 45) # 'name': 'lucy', 'age': 18
dic1.setdefault('sex', '男') # 'name': 'lucy', 'age': 18, 'sex': '男'
2. pop使用
# 按照键删除键值对,有返回值
# 如果设置了第二个参数则无论字典中有无此键都不会报错
dic2 = 'name': 'lucy', 'age': 18
ret2 = dic2.pop('age')
print(ret2) # 18
print(dic2) # 'name': 'lucy'
dic3 = 'name': 'lucy', 'age': 18
ret3 = dic3.pop('sex', '没有此键')
print(ret3) # 没有此键
print(dic3) # 'name': 'lucy', 'age': 18
3. clear使用
# 清空
dic4 = 'name': 'lucy', 'age': 18
dic4.clear()
print(dic4) #
4. get使用
dic5 = 'name': 'lucy', 'age': 18, 'hobby_list': ['study', 'play', 'shopping']
l1 = dic5.get('hobby_list')
print(l1) # ['study', 'play', 'shopping']
l2 = dic5.get('sex')
print(l2) # None
l3 = dic5.get('sex', '没有此键')
print(l3) # 没有此键
5. keys()使用
dic6 = 'name': 'lucy', 'age': 18, 'hobby_list': ['study', 'play', 'shopping']
# 1. 特殊的数据类型,类似于列表,但是没有索引
print(dic6.keys(), type(dic6.keys())) # dict_keys(['name', 'age', 'hobby_list']) <class 'dict_keys'>
# 2. 可以转化成列表
l1 = list(dic6.keys())
print(l1) # ['name', 'age', 'hobby_list']
# 3. 循环遍历
for k in dic6.keys():
print(k, end=',') # name,age,hobby_list,
for k in dic6:
print(k, end=',') # name,age,hobby_list,
6. values()使用
dic7 = 'name': 'lucy', 'age': 18, 'hobby_list': ['study', 'play', 'shopping']
# 1. 特殊的数据类型,类似于列表,但是没有索引
print(dic7.values()) # dict_values(['lucy', 18, ['study', 'play', 'shopping']])
# 2. 可以转化成列表
print(list(dic7.values())) # ['lucy', 18, ['study', 'play', 'shopping']
# 3. 循环遍历
for val in dic7.values():
print(val, end=',') # lucy,18,['study', 'play', 'shopping'],
7. items()使用
dic8 = 'name': 'lucy', 'age': 18, 'hobby_list': ['study', 'play', 'shopping']
print(dic8.items()) # dict_items([('name', 'lucy'), ('age', 18), ('hobby_list', ['study', 'play', 'shopping'])])
for it in dic8.items():
print(it)
# ('name', 'lucy')
# ('age', 18)
# ('hobby_list', ['study', 'play', 'shopping'])
# 利用了元组的拆包
for key, value in dic8.items():
print(key, value)
# name lucy
# age 18
# hobby_list ['study', 'play', 'shopping']
8. update()使用
# 更新,有则覆盖,无则添加
# 1. 增加键值对
# 方式一:
dic9 = 'name': 'lucy', 'age': 18
dic9.update(hobby='运动', hight=178)
print(dic9) # 'name': 'lucy', 'age': 18, 'hobby': '运动', 'hight': 178
# 方式二:
dic10 = 'name': 'lucy', 'age': 18
dic10.update([('hobby', '运动'), ('hight', 178)])
print(dic10) # 'name': 'lucy', 'age': 18, 'hobby': '运动', 'hight': 178
# 方式三:
dic11 = 'name': 'lucy', 'age': 18
dic12 = 'name': 'tom', 'hight': 178
dic11.update(dic12)
print(dic11) # 'name': 'tom', 'age': 18, 'hight': 178
# 2. 修改键所对应的值
dic13 = 'name': 'lucy', 'age': 18
dic13.update(name='tom')
print(dic13) # 'name': 'tom', 'age': 18
9. fromkeys()使用
# 没有指定value,默认None
dict14 = dict.fromkeys(['k1', 'k2', 'k3'])
print(dict14) # 'k1': None, 'k2': None, 'k3': None
# 指定value
dict14 = dict.fromkeys(['k1', 'k2', 'k3'], 'value')
print(dict14) # 'k1': 'value', 'k2': 'value', 'k3': 'value'
10. copy使用
# 浅拷贝
dict15 = dict(one=1, two=2, three=3)
dict16 = dict15.copy()
print(dict16)
11. popitem()使用
# 随机删除字典中的一对 键和值
dict17 = dict(one=1, two=2, three=3)
a = dict17.popitem()
print(a)
print(dict17)
以上是关于Python-字典中的所有方法及用法的主要内容,如果未能解决你的问题,请参考以下文章