python3之dict字典
字典
字典是一种无序结构
字典是一种kv结构
value可以是任何对象
key是唯一的
key必须是可hash对象
字典初始化
d = {}
d = dict()
d = {'a':1 , 'b':2}
字典的方法:
1. d.clear
##删除字典dict中的所有元素,返回none
In [198]: d = {'a': 1, 'b': 2}
In [199]: d.clear()
In [200]: d
Out[200]: {}
2. d.fromkeys
## fromkeys()方法从序列键和值设置为value来创建一个新的字典。
例:
#!/usr/bin/python
seq = ('name', 'age', 'sex')
dict = dict.fromkeys(seq)
print "New Dictionary : %s" % str(dict)
dict = dict.fromkeys(seq, 10)
print "New Dictionary : %s" % str(dict)
输出:
New Dictionary : {'age': None, 'name': None, 'sex': None}
New Dictionary : {'age': 10, 'name': 10, 'sex': 10}
3. d.items
##返回字典的(键,值)元组对的列表
例:
In [196]: d = {'a': 1, 'b': 2}
In [197]: d.items()
Out[197]: dict_items([('b', 2), ('a', 1)])
4. d.pop
##d.pop( x ) 返回给定键 x 对应的值,并将该键值对从字典中删除
列:
In [193]: d
Out[193]: {'a': 1, 'b': 2}
In [194]: d.pop('a')
Out[194]: 1
5. d.setdefault
## d.setdefault( x, [ , y ] ) 返回字典 d 中键 x 对应的值,若键 x 不存在,则返回y, 并将 x : y 作为键值对添加到字典中,y 的默认值为 None
例:
>>> d = {'z': 5, 'x': 1.5, 'y': 3}
>>> d.setdefault('x')
1.5
>>> del d['x']
>>> d.setdefault('x','Look!')
'Look!'
>>> d
{'z': 5, 'x': 'Look!', 'y': 3}
6. d.values
##返回字典dict的值列表
In [207]: d
Out[207]: {'a': 1, 'b': 2}
In [208]: for v in d.values():
.....: print(v)
.....:
2
1
7. d.copy
##返回字典dict的浅表副本
In [209]: d
Out[209]: {'a': 1, 'b': 2}
In [210]: d1 = d.copy()
In [211]: d1
Out[211]: {'a': 1, 'b': 2}
8. d.get
## get()方法返回给定键的值。如果键不可用,则返回默认值None。
例:
#!/usr/bin/python
dict = {'Name': 'Zara', 'Age': 27}
print "Value : %s" % dict.get('Age')
print "Value : %s" % dict.get('Sex', "Never")
输出:
Value : 27
Value : Never
9. d.keys
##返回字典的键的列表
例:
#!/usr/bin/python
dict ={'Name':'Zara','Age':7}
print"Value : %s"% dict.keys()
输出:
Value : ['Age', 'Name']
10. d.popitem
## d.popitem( ) 返回并删除字典 d 中随机的键值对
例:
>>> d = {'z': 5, 'x': 1.5, 'y': 3}
>>> d.popitem()
('z', 5)
>>> d.popitem()
('x', 1.5)
11. d.update
##d.update( x ) 将字典 x 所有键值对添加到字典 d 中(不重复,重复的键值对用字典 x 中的键值对替代字典 d 中)
例:
>>> d1 = {'x':1, 'y':3}
>>> d2 = {'x':2, 'z':1.4}
>>> d1.update(d2)
>>> d1
{'z': 1.4, 'x': 2, 'y': 3}
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341