Python 字典
2020-04-01 本文已影响0人
lc_666
dictionary
- 使用
{}
; - 关键字:
dict
; - 键值对保存数据:
{key:value}
;
定义
# 定义空字典
dict1 = {}
dict2 = dict()
# 定义非空字典
user = {'id': '1111111', 'name': 'lc_666'}
user1 = dict([('id', '11111'), ('name', 'lc_666')])
增删改查
新增、修改
-
key
在字典中是唯一的;
dict1 = {}
dict1['name'] = 'lc_666'
dict1['age'] = 18
print(dict1)#{'name': 'lc_666', 'age': 18}
dict1['age'] = 28
print(dict1)#{'name': 'lc_666', 'age': 28}
查找
user = {'name': 'lc_666', 'age': 18}
print(user['name'])
# 遍历key
for key in user:
print(key, user[key])
-
items()
:返回列表中包含元组; - 元组每一项为
(key,value)
;
user = {'name': 'lc_666', 'age': 18}
print(user.items())
#dict_items([('name', 'lc_666'), ('age', 18)])
# 使用
for key, value in user.items():
print(key, value)
-
values()
:获取所有value
的列表;
user = {'name': 'lc_666', 'age': 18}
print(user.values())
#dict_values(['lc_666', 18])
#shiyong
for value in user.values():
print(value)
-
keys()
:获取key
的列表;同values()
; -
in
用于字典操作,判断元素是否在字典的key
中出现; -
get()
:根据key
获取value
,如不存在返回None
;
删除
- 使用
del
,如果key
不存在,则报错;
user = {'name': 'lc_666', 'age': 18}
del user['name']
print(user)#{'age': 18}
-
pop(key,[default])
:根据key
删除键值,并返回值;如果没有key
,会返回default
值;
user = {'name': 'lc_666', 'age': 18}
result = user.pop('name')
print(result)#lc_666
print(user)#{'age': 18}
-
popitem()
:随机删除字典中的键值对,一般从末尾删除; - 返回删除的键值,类型为元组;
user = {'name': 'lc_666', 'age': 18}
result = user.popitem()
print(type(result), result)
#<class 'tuple'> ('age', 18)
-
clear()
:清空字典;
其他内置函数
-
update()
:合并字典;不支持+
操作;
user = {'name': 'lc_666', 'age': 18}
user1 ={'name':'lc'}
user.update(user1)
print(user)
#{'name': 'lc', 'age': 18}
-
dict.fromkeys(seq,default)
:将seq
转成字典的形式,value
为default
,没有value
为None
; - 作用于字典只考虑
key
;
l1 = [1, 2, 3, 4, 5]
dict1 = dict.fromkeys(l1)
print(dict1)
#{1: None, 2: None, 3: None, 4: None, 5: None}
dict1 = dict.fromkeys(l1, 10)
print(dict1)
#{1: 10, 2: 10, 3: 10, 4: 10, 5: 10}
dict1 = {'name': 'cc', 'age': 19}
dict1 = dict.fromkeys(dict1)
print(dict1)
#{'name': None, 'age': None}