{}
表示一个空字典dict()
的方式来创建一个空字典a = {}
print(type(a)) #
b = dict()
print(type(b)) #
{}
中设置字典的初始值。a = {
'name':'siwen',
'time':2023
}
print(a) # {'name': 'siwen', 'time': 2023}
,
分割,键(key)和值(value)之间使用 :
分隔,
也可以不写thisdict[key] = value
的方式可以将键值对
插入到字典 thisdict
中。a = {
'name':'siwen',
'time':2023
}
print(a) # {'name': 'siwen', 'time': 2023}
a['age'] = 22
print(a) # {'name': 'siwen', 'time': 2023, 'age': 22}
a = {
'name':'siwen',
'time':2023
}
print(a) # {'name': 'siwen', 'time': 2023}
a.update({'age': 22,'weight':123})
print(a) # {'name': 'siwen', 'time': 2023, 'age': 22, 'weight': 123}
a = {
'name':'siwen',
'time':2023
}
a.pop('time')
print(a) # {'name': 'siwen'}
a = {
'name':'siwen',
'time':2023
}
a.popitem()
print(a) # {'name': 'siwen'}
a.popitem()
print(a) # {}
a = {
'name':'siwen',
'time':2023
}
print('time' in a) # True
print('time' not in a) # False
print('name' in a) # True
print('name' not in a) # False
a = {
'name':'siwen',
'time':2023
}
print(a.get('name')) # siwen
print(a.get('hello'))# None
thisdict[key]
的方式也可以获取指定键(key)的值(value)a = {
'name':'siwen',
'time':2023
}
print(a['name']) # siwen
#print(a['hello'])# 抛出异常
thisdict[key] = new_value
的方式可以修改指定键(key)的值(value)a = {
'name':'siwen',
'time':2023
}
a['time'] = 1997
print(a) #{'name': 'siwen', 'time': 1997}
[]
可以根据 key 来新增或修改 value,如果指定的 key 不存在,则为新增键值对,如果指定的 key 存在,则为修改键值对的值字典也是一个可迭代对象,因此可以直接使用 for 循环对字典进行遍历
a = {
'name':'siwen',
'time':2023,
'age': 22
}
for key in a:
print(key,a[key])
#name siwen
#time 2023
#age 22
a = {
'name':'siwen',
'time':2023,
'age': 22
}
for key in a.keys():
print(key,a[key])
#name siwen
#time 2023
#age 22
使用 values 方法可以获取到字典中所有 value 所组成的列表
a = {
'name':'siwen',
'time':2023,
'age': 22
}
for value in a.values():
print(value)
#siwen
#2023
#22
a = {
'name':'siwen',
'time':2023,
'age': 22
}
for key,value in a.items():
print(key,value)
#name siwen
#time 2023
#age 22
a = {
'name':'siwen',
'time':2023,
}
b = {
'age': 22
}
a.update(b)
print(a) # {'name': 'siwen', 'time': 2023, 'age': 22}
print(b) # {'age': 22}
print(hash(0)) # 0
print(hash('a')) # -510370993372095746
print(hash(1.1)) # 230584300921369601
print(hash((1,2,3))) # 529344067295497451
#以下都会抛异常
print(hash([1,2]))
print(hash({1,2}))
print(hash({'1':1,'2':2}))
a = {
'name':'siwen',
'time':2023,
}
b = {
'age': 22
}
a = b.copy() #浅拷贝 浅拷贝会复制字典的键和值的引用,但不会递归复制内部嵌套的对象。
print(a) # {'age': 22}
a = {
'name':'siwen',
'time':2023,
}
b = {
'age': 22
}
b = a # b 字典成为了 a 字典的引用
a['name'] = 'test'
print(a) # {'name': 'test', 'time': 2023}
print(b) # {'name': 'test', 'time': 2023}
import copy # 导入copy模块
a = {
'name':'siwen',
'time':2023,
}
b = {
'age': 22
}
b = copy.deepcopy(a) # 深拷贝
print(a) # {'name': 'siwen', 'time': 2023}
a['name'] = 'test'
print(a) # {'name': 'test', 'time': 2023}
print(b) # {'name': 'siwen', 'time': 2023}
a = {
'name':'siwen',
'time':2023,
}
a.clear()
print(a) # {}
fromkeys(keys, value)
:这个方法返回一个新的字典,其中包含指定的键 keys
和对应的值 value
。其中,keys
是一个可迭代的对象,用于指定新字典中的键,value
是用于指定新字典中所有键对应的初始值。keys = ['a', 'b', 'c']
value = 0
new_dict = dict.fromkeys(keys, value)
print(new_dict) # {'a': 0, 'b': 0, 'c': 0}
keys = ['a', 'b', 'c']
values = {1,2,3}
new_dict = dict.fromkeys(keys, values)
print(new_dict) # {'a': {1, 2, 3}, 'b': {1, 2, 3}, 'c': {1, 2, 3}}
key
对应的值。如果字典中已经存在键 key
,则返回该键对应的值;如果字典中不存在键 key
,则将键 key
插入字典,并将其值设为 default
(默认为 None
),然后返回 default
。my_dict = {'a': 1, 'b': 2}
value = my_dict.setdefault('c', 3)
print(my_dict) # {'a': 1, 'b': 2, 'c': 3}
print(value) # 3
```![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/6306c5b7f9244d9bac3cd20e7e7c2f09.png)