Python字典常用的操作

1、数据类型

  不可变数据类型:元组、bool、int、str

  可变数据类型:list、dict、set

  字典中,键key只能是不可变数据类型,而值value可为任意数据类型。

 

2、dict常用操作

dic1 = {'age': 18, 'name': 'mumu', 'sex': 'male'}

增:

dic1['height'] = 170
dic1['age'] = 20
# 没有此键值对时,则添加(增),有此键值对时,则覆盖(改)

dic1.setdefault('weight', 140)  # value不填时,默认为None
# 有此key时,键值对不改变,无此key时,则添加(增)
print(dic1) # {'age': 20, 'name': 'mumu', 'sex': 'male', 'height': 170, 'weight': 140}

删:

dic1.pop('age')  # 删除'age'键值对,有返回值,为value,此处为20
dic1.pop('mumu', '不存在此键')  # 添加一个返回值,防止不存在此key而报错,此处返回值为字符串‘不存在此键’
# 常用于不知道是否存在key的情况,防止程序报错而停止运行

dic1.popitem()  # 随机删,删除键值对,返回元组
dic1.clear()  # 清空字典

# del dic1['name']  # 删除name键值对,但不存在时会报错
# del dic1  # 删除字典

改:

dic1['age'] = 24  # 改法一

dic = {'name': 'mumu', 'age': 18, 'height': 170}
dic2 = {'name': 'mu', 'age': 20, 'sex': 'male'}
dic2.update(dic)  # {'name': 'mumu', 'age': 18, 'sex': 'male', 'height': 170}
# dic添加和覆盖到dic2上,有则覆盖,无则添加 

查:

dic.keys()  # 所有的键,返回值为列表
dic.values()  # 所有的值,返回值为列表
dic.items()  # 所有的键值对,返回值为包含元组的列表,一个键值对为一个元组

# for循环逐个查看
for i in dic:  # 只写dic时,默认查看key,故此处用dic.keys()时,结果一样
    print(i)  # 循环打印key
for i in dic.values():
    print(i)  # 循环打印value
for i in dic.items():
    print(i)  # 循环打印键值对,显示为元组,如:('name','mumu')
for k, v in dic.items():
    print(k, v)  # 循环打印键值对,键、值独立

# print(dic['key'])  # 没有此key则会报错
print(dic.get('key', '无此键'))  # 无key时,返回值为字符串'无此键'

 

3、嵌套

dic = {
    'name': ['mumu', '怪大叔', 'Superman'],
    'pyStudy': {
        'time': '16:00',
        'date': '3.31',
        'who': 'mu'},
    'age': 21
}

dic['name'].append('mu哥')  # 把'mu哥'添加到name中,此处对应value为列表
dic['name'][0] = dic['name'][0].upper()  # 大写mumu

dic['pyStudy']['how_long'] = 3  # 添加键值对到pyStudy,此处对应value为字典

  在对嵌套型字典进行操作时,

  首先找要操作的key,确定对应的value类型(字符串、数字、列表、字典等),

  再根据对应的类型,选择合适的操作方式(不同类型一般不同)

猜你喜欢

转载自www.cnblogs.com/MuMuyom/p/10631377.html