字典dict
http://www.runoob.com/python3/python3-dictionary.html
字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:
d = {key1 : value1, key2 : value2 } dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}
键必须是唯一的,但值则不必。值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。
访问字典里的值
dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'};
print (dict['Name']); #把相应的键放入到方括号中
键要是不存在 就发生错误
返回值
dict.get('Name', "NA")
参数1 键名
字典中要是存在键 就返回键对应的值;要是不存在,就返回参数2
参数2 默认是None
返回键值
aa= dict.setdefault('name', 79)
参数1 键名
字典中要是存在键 就返回键对应的值;
要是不存在,就返回参数2,并且在字典典的尾部添加这个键值对
修改某键的值
dict['Age'] = 18;
在尾部添加键值对
方法一:
dict['School'] = "菜鸟教程"
注意:键已经存在 不添加修改值;如果不存在就添加
方法二:
s1=s.setdefault('weight') 参数是增加的键,增加的值是None
s1=s.setdefault('weight',144) 参数1是增加的键,参数2是增加的值
注意:键已经存在 不添加没有任何操作;如果不存在才添加
在尾部添加另一个字典的内容
dict.update(dict2)
在dict尾部添加另一个字典dict2的内容
删除键值对
del dict['Name']
参数 要删除的键名
删除指定键值对
site= {'name': '菜鸟教程', 'alexa': 10000, 'url': 'www.runoob.com'}
pop=site.pop('name')
从字典里删除指定键的键值对
返回被删除的值,键要是不存在就抛出错误
s1=s.pop('agea',-1)
返回被删除的值,键要是不存在就返回参数2
删除最后的键值对
pop=site.popitem()
返回被删除键值对的元组:('hight', '1.66')
清空字典
dict.clear()
删除字典
del dict
返回字典的长度
x=len(dict)
返回键值对的总数
复制
dict1=dict.copy();
创建新字典
dict =dict.fromkeys(seq)
参数seq 是列表或元组,当中的元素作为新字典的键名
参数2 要是省略 每个键的值为 None
dict =dict.fromkeys(seq,21) 每个键的值为 21
字典转换为字符串
str=str(dict)
键是否包含在字典里
bl='name' in dict; #在字典里 返回true 不在 返回false
返回键名迭代器,可以再转换为列表
dict = {'Name': 'Runoob', 'Age': 7}
aa=dict.keys()
print (aa)
返回值 dict_keys(['Name', 'Age'])
可以再转换为列表
zz=list(aa)
['Name', 'Age']
返回(键, 值) 元组的列表迭代器
dict = {'Name': 'Runoob', 'Age': 7}
aa=dict.items()
print (aa)
返回值 dict_items([('Age', 7), ('Name', 'Runoob')])
可以再转换成列表 zz=list(aa)
返回值 [('Age', 7), ('Name', 'Runoob')]
返回值的列表迭代器
dict = {'Sex': 'female', 'Age': 7, 'Name': 'Zara'}
aa=dict.values()
可以再转换为列表 zz=list(aa)
dict.keys() 表示所有键
dict.values() 表示所有值
遍历字典
方法一 遍历键名
a={'a': '1', 'b': '2', 'c': '3'}
for key in a:
print(key+':'+a[key])
key保存的是键名
方法二 遍历键名
a={'b': '1', 'a': '2', 'c': '3'}
for key in a.keys():
print(key)
key保存的是键名
可以对键名集合先进行排序
a={'b': '1', 'a': '2', 'c': '3'}
for key in sorted(a.keys()):
print(key)
方法三 遍历值
a={'a': '1', 'b': '2', 'c': '3'}
for value in a.values():
print(value)
value保存的是值
方法四 遍历键值对
a={'a': '1', 'b': '2', 'c': '3'}
for kv in a.items():
print(kv)
kv保存的是键值对的元组
方法五 遍历键值对
a={'a': '1', 'b': '2', 'c': '3'}
for key,value in a.items():
print(key+':'+value)
key保存键名 value保存相应的值
等效
a={'a': '1', 'b': '2', 'c': '3'}
for (key,value) in a.items():
print(key+':'+value)