python入门:字典
创建和使用字典phone = {'Andy':'150','Bob':'137','john':'138'} 字典由键及其相应的值组成,这种键值对称为项,在示例中,键为名字而值为电话号码。每个键与值之间用冒号隔开,整个字典放在花括号内。空字典用两个花括号表示{}。
函数dict
可使用dict从其他映射或键值对序列创建字典。
item = [('name',"Andy"),('age',12)]
d = dict(item)
d
{'name': 'Andy', 'age': 12}
还可使用实参来调用函数
d = dict(name='Andy',age=12)
d
{'name': 'Andy', 'age': 12}
# 删除字典元素
del d['name']
d
{'age': 12}
# len返回字典包含的键值对数
len(d)
1
# 修改值
d['age']=20
d
{'age': 20}
字典方法
clear删除所有字典项
d
{'age': 20, 'name': 'andy'}
d.clear()
d
{}
>>>
copy返回一个新字典,把汗的键值对与原来的字典相同,当替换副本中的值时,原件不受影响,如果修改原件指向的值将被修改
x ={'username':'admin','machines':['foo','bar','cc']}
y=x.copy()
y['username']='root'
y
{'username': 'root', 'machines': ['foo', 'bar', 'cc']}
x
{'username': 'admin', 'machines': ['foo', 'bar', 'cc']}
deepcopy同时复制值及其包含的所有值
from copy import deepcopy
a={}
a['name']=['admin','root']
b=a.copy()
ab=deepcopy(a)
d['name'].append('tiger')
a['name'].append('tiger')
b
{'name': ['admin', 'root', 'tiger']}
a
{'name': ['admin', 'root', 'tiger']}
ab
{'name': ['admin', 'root']}
get访问字典项
d ={}
print(d.get('name'))
None
字典d中没有键值所以在使用get访问时返回None,也可指定默认值
d.get('name','NO')
'NO'
items返回一个包含所有字典项的列表,但字典中的顺序不确定
d={'title':'python web Site','url':'http://www.python.org','spam':0}
d.items()
dict_items([('title', 'python web Site'), ('url', 'http://www.python.org'), ('spam', 0)])
it = d.items()
len(it)
3
('spam',0) in it
True
('name','admin') in it
False
keys返回一个字典视图,包含指定字典中的键
d.keys()
dict_keys(['title', 'url', 'spam'])
pop获取与指定键相关联的值,并将该键值对从字典中删除
d.pop('title')
'python web Site'
d
{'url': 'http://www.python.org', 'spam': 0}
popitem随机弹出一个字典项,因为字典项顺序是不确定的,如果不要求删除字典项使用popitem
d.popitem()
('spam', 0)
d
{'url': 'http://www.python.org'}
setdefault获取与指定键相关联的值,setdefault还在字典不包含指定的键时,在字典中添加指定的键值对
d.setdefault('name','N')
'N'
d
{'name': 'N'}
d['name']='admin'
d
{'name': 'admin'}
update更新另一个字典
d
{'name': 'admin'}
a ={'name':'root','age':20,'py':3.6}
d.update(a)
d
{'name': 'root', 'age': 20, 'py': 3.6}
a
{'name': 'root', 'age': 20, 'py': 3.6}
values返回由字典中的值组成的字典视图,方法values返回的视图可能包含重复的值
num= {}
num=1
num=2
num=2
num.values()
dict_values()
页:
[1]