字典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

posted @ 2019-09-16 17:08  Agsol  阅读(145)  评论(0编辑  收藏  举报