字典dict
字典
可变,无序,key不可重复
定义方式:
dic = {},用逗号隔开多个键值对,键:值
key一定为不可变类型,value爱谁谁
其他定义方式如下:
#方式1
>>> d = {"name":'Bob', "age":20, "score":88}
>>> print(d)
{'name': 'Bob', 'age': 20, 'score': 88}
d = dict(可迭代键值对) 两对及以上
# 方式2
>>> d = dict(name='Bob', age=20, score=88)
>>> print(d)
{'name': 'Bob', 'age': 20, 'score': 88}
# 方式3
>>> d = dict([["name", "zh"], ["age", "18"]])
>>> print(d)
{'name': 'zh', 'age': '18'}
# 方式4
>>> d = dict([("name", "zh"), ("age", "18")])
>>> print(d)
{'name': 'zh', 'age': '18'}
dict,fromkeys(iterable[,value]) x默认值位None
d = dict.fromkeys(range(10),'a')
print(d)
{0: 'a',
1: 'a',
2: 'a',
3: 'a',
4: 'a',
5: 'a',
6: 'a',
7: 'a',
8: 'a',
9: 'a'}
字典元素的访问
**dic = d[key] **
返回key对应value,key不存在报KeyError异常
**d.get(key[,default]) **
返回key对应value,key不存在返回缺省值,默认缺省值None
**d.setdefault(key[,default]) **
返回key对应value,key不存在,添加kv对,并返回value值为default,default默认值为None,原来就有的key,不改变对应value
字典元素的增加和修改
**d[key] = value **
将key对应的值修改为value
key不存在添加新的kv对
**update([other]) **
使用另以字典的kv对更新本字典
key不存在,添加
key存在,覆盖value值
就地修改,返回值为None
字典的删除
d.pop(key[,default])
key存在,移除key,并返回对应value值
key不存在,返回给定的default
default未设置,key不存在时报KeyError异常
d.popitem()
移除并返回一个任意的键值对 一个键值对称为一个item
空字典使用popitem时,报KeyError异常
字典的遍历
遍历key
for i in dic():
print(i)
for i in dic.keys():
print(i)
遍历value
for i in dic.values():
print(i)
for i in dic.keys():
print(dic[i])
遍历item
for i in dic.items():
print(i) #输出键值对组成的二元组
for k,v in dic.items():
print(k,v)
成员运算符in :只看key
p.s
优先掌握
1.按key取值/修改值
2.添加值
dic['d'] = 4 没有就添加,有就修改
3.for 按key循环
4.成员运算(按key算in)
5.keys/values/items
dic.keys() 去字典里的key,输出为列表
dic.keys() 去字典里的values,输出为列表
dic.keys() 去字典里的键值对,输出为二元组列表
需要掌握
dic.get()
update 相当于列表中的extend
fromkeys