python字典

Python 字典 dict

python字典是序列化数据非常方便,就像最简单的关系型数据库,可以和list互相嵌套
a = {key:value} 建议还是使用双引号来包裹字符串,这样子以后转存为字符串后再次序列号时方便
dict 有几个关键字: “无序的,可变对象,key唯一,可嵌套”

dict func

clear()

清除字典数据 like list clear

1
2
3
4
a  = {"name":1}
a.clear()
a
{}

fromkeys()

用于生成字典,fromkeys来源于可迭代的对象比如元组或者list
dict.fromkeys(seq,value),value是可选的,也就说把可迭代对象里面的元素拿出来当字典的key,vlaue是可选的如果没有value那所有的key就是None

1
2
3
4
a = ('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
9
a = {"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
4
a = {"name":1}
b = a.items()
b
dict_items([('age', 2), ('name', 1)])

keys()

返回字典中的所有key的list

1
2
3
4
a = {"name":1}
b = a.keys()
b
dict_keys(['age', 'name'])

pop()

类似redis中的pop,从字典中拿出一个key返回key并删除

1
2
3
4
5
6
a
{'age': 2, 'name': 1}
a.pop('name')
1
a
{'age': 2}

popitem()

从字典中拿出key和value返回key并删除,区别于pop()方法,
不需要指定参数,随机返回,且key和value放在一个元组中

1
2
3
4
5
a = {'age': 2, 'name': 1}
a.popitem()
('name',1)
a
{'age': 2}

setdefault()

如果键在字典中,返回这个键所对应的值。如果键不在字典中,向字典 中插入这个键,
并且以default为这个键的值,并返回 default。default的默认值为None

1
2
3
4
5
6
a = {'name':'xiaoming'}
a.setdefault(‘name’,1) # 由于name存在 所以直接返回name的value
xiaoming
a.setdefault(‘age’,1) # 由于age不存在,故插入age 把default的值作为key:aget的value
a
a = {'name':'xiaoming','age':1}
update()

update方法可以使用一个字典来更新字典,也可以使用参数传递类似dict函数一样的方式更新一个字典,
但是同样和dict函数类似,键是变量时也只取字面值

1
2
3
4
5
6
7
8
a = {"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 返回的是所有的value

1
2
3
a = {'age': 1, 'other': 3, 'name': 1}
a.values()
[1,3,1]

最后一下python2和python3 字典方法的区别

文章目录
  1. 1. Python 字典 dict
  2. 2. dict func
    1. 2.0.1. clear()
    2. 2.0.2. fromkeys()
    3. 2.0.3. get()
    4. 2.0.4. items()
    5. 2.0.5. keys()
    6. 2.0.6. pop()
    7. 2.0.7. popitem()
    8. 2.0.8. setdefault()
    9. 2.0.9. update()
    10. 2.0.10. values
  • 3. 最后一下python2和python3 字典方法的区别