Python 字典 dict
python字典是序列化数据非常方便,就像最简单的关系型数据库,可以和list互相嵌套
a = {key:value} 建议还是使用双引号来包裹字符串,这样子以后转存为字符串后再次序列号时方便
dict 有几个关键字: “无序的,可变对象,key唯一,可嵌套”
dict func
clear()
清除字典数据 like list clear1
2
3
4a = {"name":1}
a.clear()
a
{}
fromkeys()
用于生成字典,fromkeys来源于可迭代的对象比如元组或者list
dict.fromkeys(seq,value),value是可选的,也就说把可迭代对象里面的元素拿出来当字典的key,vlaue是可选的如果没有value那所有的key就是None1
2
3
4a = ('name','age')
b = dict.fromkeys(a,'something')
b
{'age': 'something', 'name': 'something'}
get()
从字典中拿出指定的key的value。如果key不存在不会异常只是为None,且还可以指定这个key不存在的还会给一个预设值1
2
3
4
5
6
7
8
9a = {"name":1}
a.get('name')
1
b = a.get('age')
print(b)
None
c = a.get('age',10) # age不存在,故返回10
c
10
items()
把字典里面的key和value 作为一个元组填装在一个迭代器中1
2
3
4a = {"name":1}
b = a.items()
b
dict_items([('age', 2), ('name', 1)])
keys()
返回字典中的所有key的list1
2
3
4a = {"name":1}
b = a.keys()
b
dict_keys(['age', 'name'])
pop()
类似redis中的pop,从字典中拿出一个key返回key并删除1
2
3
4
5
6a
{'age': 2, 'name': 1}
a.pop('name')
1
a
{'age': 2}
popitem()
从字典中拿出key和value返回key并删除,区别于pop()方法,
不需要指定参数,随机返回,且key和value放在一个元组中1
2
3
4
5a = {'age': 2, 'name': 1}
a.popitem()
('name',1)
a
{'age': 2}
setdefault()
如果键在字典中,返回这个键所对应的值。如果键不在字典中,向字典 中插入这个键,
并且以default为这个键的值,并返回 default。default的默认值为None
1 | a = {'name':'xiaoming'} |
update()
update方法可以使用一个字典来更新字典,也可以使用参数传递类似dict函数一样的方式更新一个字典,
但是同样和dict函数类似,键是变量时也只取字面值1
2
3
4
5
6
7
8a = {"name":1}
a.update(age=1)
a
{'age': 1, 'name': 1}
b = {'other':3} 相当于把b字典的内容更新到a去
a.update(b)
a
{'age': 1, 'other': 3, 'name': 1}
values
values和keys类似,keys返回所有的key而values 返回的是所有的value1
2
3a = {'age': 1, 'other': 3, 'name': 1}
a.values()
[1,3,1]