目录
详细操作
一,创建字典dict
使用{}创建字典
2.使用dict()进行类型转换
3.如何访问dict中值
二,dict内置方法的使用:
1.删除dict值 clear()
2.获取dict值 get(),setdefault()
3.获取dict的键值和值items()
4获取dict 的键值keys()
5.获取dict的值列表values()
6.删除dict中的键pop(),popitem()
7.增添字典的内容 updata(),访问增添法
8.拷贝字典copy()
{key(类型):values(相应的类型的值)}
注意:dict的特性:
创建一个空字典和一个包含有int型, float型, b''型, tuple型值的dict
dict_data = {} dict_data1 = {1: 2, 1.2: 1.5, b'2': b'6', (): (1, '5')} print(dict_data, dict_data1)
结果:{} {1: 2, 1.2: 1.5, b'2': b'6', (): (1, '5')}
要想转换为dict必须要有dict型的形式即key: values
将tuple型, list型 转换为dict型
tuple_data = ((1, 2), ('he', 'hi'), [5, 4], ["hello", "world"]) dict_data = dict(tuple_data) print(dict_data, type(dict_data))显示:{1: 2, 'he': 'hi', 5: 4, 'hello': 'world'}
访问字典根据的是key
dict_data = {1: 5, '1': '5', b'2': b'5'} print(dict_data[1])显示:5
clear(...)
D.clear() -> None. Remove all items from D. 删除dict中所有的值
dict_data = {1: 5, '1': '5', b'2': b'5'} print(dict_data.clear())结果None
(1)get()获取值
get(self, key, default=None, /)
Return the value for key if key is in the dictionary, else default.
如果 key 在字典中,则返回 key 的值,否则返回默认值None
dict_data = {1: 5, '1': '5', b'2': b'5'} print(dict_data.get(1)) print(dict_data.get(5), dict_data)显示:5
None {1: 5, '1': '5', b'2': b'5'}
(2) setdefault()方法获取值
setdefault(self, key, default=None, /)
Insert key with a value of default if key is not in the dictionary.
输入key,如果key在字典中则返回key相应的值,如果不存在则返回None,并且将所查找key 和返回的None增添到字典中。
dict_data = {1: 5, '1': '5', b'2': b'5'} print(dict_data.setdefault(1)) print(dict_data.setdefault(5), dict_data)显示:5
None {1: 5, '1': '5', b'2': b'5', 5: None}
items(...)
D.items() -> a set-like object providing a view on D's items
将字典中的key和values,以元组和列表的显示进行输出
dict_data = {1: 5, '1': '5', b'2': b'5'} print(dict_data.items())显示:dict_items([(1, 5), ('1', '5'), (b'2', b'5')])
keys(...)
D.keys() -> a set-like object providing a view on D's keys
将字典中的key以列表的形式进行输出
dict_data = {1: 5, '1': '5', b'2': b'5'} print(dict_data.keys())显示:dict_keys([1, '1', b'2'])
values(...)
D.values() -> an object providing a view on D's values
将字典中的values以列表的形式进行输出
dict_data = {1: 5, '1': '5', b'2': b'5'} print(dict_data.values())显示:dict_values([5, '5', b'5'])
(1)pop()的使用
pop(k[,d])
remove specified key and return the corresponding value.
移除指定的键并返回相应的值。
dict_data = {1: 5, '1': '5', b'2': b'5'} print(dict_data.pop(1), dict_data)显示:5 {'1': '5', b'2': b'5'}
(2)popitem()的使用
popitem(self, /)
Remove and return a (key, value) pair as a 2-tuple.
从字典中删除最后面的键值对,并返回
直到字典被删除至空,则引发异常 KeyError。
(1)updata()将字典与另一个字典或可迭代的键值对合并。
dict_data = {1: 5, '1': '5', b'2': b'5'} dict_data1 = {(): (1, 5), "he": "haha"} dict_data.update(dict_data1) print(dict_data)显示:{1: 5, '1': '5', b'2': b'5', (): (1, 5), 'he': 'haha'}
(2)访问增添法
dict_data = {1: 5, '1': '5', b'2': b'5'} dict_data[5] = 6 print(dict_data)显示:{1: 5, '1': '5', b'2': b'5', 5: 6}
copy(...)
D.copy() -> a shallow copy of D
get(self, key, default=None, /)
Return the value for key if key is in the dictionary, else default.
1.浅拷贝
dict_data = {1: 5, '1': '5', b'2': b'5', (): (1, 2)} dict_data1 = dict_data.copy() print(dict_data1) print(id(dict_data[()]), id(dict_data1[()]))显示:{1: 5, '1': '5', b'2': b'5', (): (1, 2)}
2986175855424 2986175855424
2.深拷贝
import copy dict_data = {1: [1, 2, 3]} dict_data1 = dict_data.copy() dict_data2 = copy.deepcopy(dict_data) print(dict_data1) print(dict_data2) print(id(dict_data), id(dict_data1), id(dict_data2)) print(id(dict_data[1]), id(dict_data1[1]), id(dict_data2[1])) print(id(dict_data[1][0]), id(dict_data1[1][0]), id(dict_data2[1][0])) print(id(dict_data[1][1]), id(dict_data1[1][1]), id(dict_data2[1][1])) print(id(dict_data[1][2]), id(dict_data1[1][2]), id(dict_data2[1][2]))显示:
{1: [1, 2, 3]}
{1: [1, 2, 3]}
2506703793856 2506702801728 2506704041984
2506704042304 2506704042304 2506703925376
140725397418792 140725397418792 140725397418792
140725397418824 140725397418824 140725397418824
140725397418856 140725397418856 140725397418856
两则的区别: