# 作用:
# 定义: {}内用逗号分隔开的多个key:value 其中value可以使用任意类型,但是key必须是不可变类型
# 定义字典的3中方式:
# 方式1
d = {'k1': 'v1', 'k2': 'v2', 'k3': 'v3', (1, 2, 3): 222}
print(d['k1']) # v1
print(d[(1, 2, 3)]) # 222
print(type(d)) # <class 'dict'>
# 方式2
d = dict() # 或者 d = {}
print(d)
# {}
print(d, type(d))
# {} <class 'dict'>
# 方式3
d = dict(x=1, y=2, z=3)
print(d, type(d))
# {'x': 1, 'y': 2, 'z': 3} <class 'dict'>
# 方式4: {}.fromkeys()
keys = {'name', 'age', 'sex'}
d = {}.fromkeys(keys)
print(d, type(d))
# {'age': None, 'name': None, 'sex': None} <class 'dict'>
# 3、数据类型转换
info = [
['a', 'aaa'],
('age', 18),
['b', 'bbb']
]
print(info, type(info))
# [['a', 'aaa'], ('age', 18), ['b', 'bbb']] <class 'list'>
d = {}
for item in info:
d[item[0]] = item[1]
print(d, type(d))
# {'a': 'aaa', 'age': 18, 'b': 'bbb'} <class 'dict'>
d = {}
for k, v in info:
d[k] = v
print(d, type(d))
# {'a': 'aaa', 'age': 18, 'b': 'bbb'} <class 'dict'>
# 一行代码搞定上述类型转换操作
d = dict(info)
print(d, type(d))
# {'a': 'aaa', 'age': 18, 'b': 'bbb'} <class 'dict'>
# 4、内置方法:
# 优先掌握的操作:
# 1、按key存取值 : 可存可取
d = {'k': 'v'}
# key存在,则修改
d['k'] = 'kkkkkkkkk'
print(d)
# {'k': 'kkkkkkkkk'}
# key不存在。则新增
d['k2'] = 'v2'
print(d)
# {'k': 'kkkkkkkkk', 'k2': 'v2'}
# 2、长度len
print(len({'1': 1, '2': 2, "3": 3, '1': 1111}))
# 3
# 3、成员运算 in not in
d = {'1': '1', '2': 2}
print('1' in d) # True
print('1' not in d) # False
# 4、删除
d = {'k1': 'v1', 'k2': 'v2', 'k3': 'v3'}
# 4.1、通用删除 del
del d['k2']
print(d)
# {'k1': 'v1', 'k3': 'v3'}
# 4.2、pop删除:根据key删除元素,返回删除key对应的value值
d = {'k1': 'v1', 'k2': 'v2', 'k3': 'v3'}
d.pop('k2')
print(d)
# {'k1': 'v1', 'k3': 'v3'}
# 4.3、 popitem()删除: 随机删除,返回被删除的key value组成的元祖
d = {'k1': 'v1', 'k2': 'v2', 'k3': 'v3'}
res = d.popitem()
print(res)
# ('k3', 'v3')
print(d)
# {'k1': 'v1', 'k2': 'v2'}
# 5、 键keys() 值values() 键值对items()
d = {'k1': 'v1', 'k2': 'v2', 'k3': 'v3'}
print(d.keys())
# dict_keys(['k1', 'k2', 'k3'])
print(d.values())
# dict_values(['v1', 'v2', 'v3'])
print(d.items())
# dict_items([('k1', 'v1'), ('k2', 'v2'), ('k3', 'v3')])
# 6、循环
for k in d.keys():
print(k)
# k1
# k2
# k3
for v in d.values():
print(v)
# v1
# v2
# v3
for item in d.items():
print(item)
# ('k1', 'v1')
# ('k2', 'v2')
# ('k3', 'v3')
# 需要掌握的内置方法:
d = {'k1': 'v1'}
# 1、清空字典 clear()
# d.clear()
# print(d) # {}
# 2、update() : 如果key已存在就更新,否则就添加
d.update({'k2': 'v2', 'k3': 'v3', 'k1': 11111111111})
print(d)
# {'k1': 11111111111, 'k2': 'v2', 'k3': 'v3'}
# 3、get() : key不存在就会返回None
print(d.get('k11111')) # None
# 4、setdefault() 给key设置默认值,如果key存在,就不改其value,不存在,就添加该key,对应的value就是后面设置的默认值
# 有返回值,返回该key对应的value值
d.setdefault('k1','22222222222222')
print(d)
# {'k1': 11111111111, 'k2': 'v2', 'k3': 'v3'}
res=d.setdefault('k10',10)
print(d)
{'k1': 11111111111, 'k2': 'v2', 'k3': 'v3', 'k10': 10}
print(res)
# 10 返回值为该key的对应的value值
Python基础14:字典
最新推荐文章于 2022-12-08 17:51:23 发布