从零开始的Python学习Episode 5——字典

字典

  字典是另一种可变容器模型,且可存储任意类型对象。

一、添加

(1)直接添加

dict={'name':'smilepup'}
dict['age']=20
dict['name']='piggy'
print(dict)
#输出{'name': 'piggy', 'age': 20}

若输入的键存在,就把键对应的值更新为新的值。

若输入的键不存在,就把输入的键值对添加进字典。

(2)setdefault()方法

dict={'name':'smilepup'}
a = dict.setdefault("age",20)
b = dict.setdefault("name",'piggy')
print(dict)
print(a)
print(b)
#输出
#{'name': 'smilepup', 'age': 20}
#20
#smilepup

  若输入的键存在,不改动,并返回键对应的已有值。

  若输入的键不存在,就把输入的键值对添加进字典,并返回新添加的值。

 

二、查找

(1)根据键来查找对应的值

dict={'name':'smilepup'}
print(dict['name'])
#输出smilepup

  若输入的键不存在会报错。

 

(2)get() 方法

dict={'name':'smilepup'}
print(dict.get('name'))
print(dict.get('age'))
#输出
#smilepup
#None

  若输入的键存在,并返回键对应的值。

  若输入的键不存在,就返回None。

(2)查找所有的键

dict={'name':'smilepup','age':20}
print(list(dict.keys()))
#输出['name', 'age']

  返回一个dict_keys类型的值,表示字典中所有的键。若要使用这些键,可以把它转换为列表。

(2)查找所有的值

dict={'name':'smilepup','age':20}
print(list(dict.values()))
#输出['smilepup', 20]

  与上同理。

(3)查找所有的键值对

dict={'name':'smilepup','age':20}
print(list(dict.items()))
#输出[('name', 'smilepup'), ('age', 20)]

  与上同理

 

三、修改

(1)直接法

dict={'name':'smilepup','age':20}
dict['age'] = 21
print(dict)
#输出{'name': 'smilepup', 'age': 21}

(2)update()方法

dict={'name':'smilepup','age':20}
dict2 = {'gender':'male','age':'21'}
dict.update(dict2)
print(dict)
#输出{'name': 'smilepup', 'age': '21', 'gender': 'male'}

  创建一个新的字典来存信息,然后对原有字典进行更新,有点像列表的extend()。

要注意的是:若有键已存在,则修改更新已有键对应的值;若键不存在,则添加新的键值对。

 

四、删除

(1)del 操作

dict={'name':'smilepup','age':20,'gender':'male'}
del dict['name']
print(dict)
#输出{'age': 20, 'gender': 'male'}

 删除所选键的键值对。

(2)clear()方法

dict={'name':'smilepup','age':20,'gender':'male'}
dict.clear()
print(dict)
#输出{}

  清空字典,留下一个空字典。

(3)pop()方法

dict={'name':'smilepup','age':20,'gender':'male'}
ret = dict.pop('age')
print(dict)
print(ret)
#输出
#{'name': 'smilepup', 'gender': 'male'}
#20

  删除所选键的键值对,并返回已删除键值对的值。

(4)popitem() 方法

dict={'name':'smilepup','age':20,'gender':'male'}
ret = dict.popitem()
print(dict)
print(ret)
#输出
#{'name': 'smilepup', 'age': 20}
#('gender', 'male')

  随机删除一个键值对,并已元组的方式返回所删除的键值对。

五、用for循环遍历字典

方法一:

dict={'name':'smilepup','age':20,'gender':'male'}
for i in dict:
    print(i, dict[i])
#输出
#name smilepup
#age 20
#gender male

方法二:

dict={'name':'smilepup','age':20,'gender':'male'}
for i,v in dict.items():
     print(i,v)
#输出
#name smilepup
#age 20
#gender male

posted on 2018-09-20 00:37  微笑小狗  阅读(142)  评论(0编辑  收藏  举报

导航