dict字典的增删改查

    字典  ,映射型数据类型。dict1 = { 'key':'value'}   由一 一对应的键值对组成。

键(keys)必须是不可变数据类型组成,例如:int、str、bool、元祖

值(value) 任一数据类型

字典的增加

dict1['key']='value' #通过key直接进行复制增加  ,如果没有相同的键值对,则增加;如果有相同键,则覆盖。

 若键值没有重复

dic1={'age':18,'name':'liu','sex':'male'}
dic1['hobby']='basketball'
print(dic1)
打印结果为{'age': 18, 'name': 'liu', 'sex': 'male', 'hobby': 'basketball'}

若键值有重复

dic1={'age':18,'name':'liu','sex':'male'}
dic1['name']='haha'
print(dic1)

打印结果为{'age': 18, 'name': 'haha', 'sex': 'male'}

2.dict1.setdefault('key','None') #如果没有相同的键值对,则增加;如果有相同键,则不做任何变化。

若键值没有重复
dic1={'age':18,'name':'liu','sex':'male'}
dic1.setdefault('hobby','basketball')
print(dic1)
打印结果为{
'age': 18, 'name': 'liu', 'sex': 'male', 'hobby': 'basketball'}
若键值有重复 dic1
={'age':18,'name':'liu','sex':'male'} dic1.setdefault('name','haha') print(dic1)
打印结果为{
'age': 18, 'name': 'liu', 'sex': 'male'}

字典的删除

pop

dic1.pop('') 通过key,进行删减,有返回值
dic1
={'age':18,'name':'liu','sex':'male'} dic1.pop('age') print(dic1)
打印结果为{
'name': 'liu', 'sex': 'male'}


dic1.popitem 3.6版本后从后向前删除

dic1={'age':18,'name':'liu','sex':'male'}
print(dic1.popitem())


del

按键删除
dic1={'age':18,'name':'liu','sex':'male'}
del dic1['name']
print(dic1)
打印结果为{'age': 18, 'sex': 'male'}

删除字典 dic1
={'age':18,'name':'liu','sex':'male'} del dic1 打印结果为空


clear

dic1={'age':18,'name':'liu','sex':'male'}
print(dic1.clear())

打印结果为None

字典的修改和拼接

1.当dict1['key']='value'中,key在dic1中,则可以实现修改功能。

2.s.update()    括号中只能加字典

# dic1={'age':18,'name':'liu','sex':'male'}
# dic2={'weight':'70kg','name':'haha',}
# dic1.update(dic2) #将dic2中的值与dic1值进行拼接,若有重复则显示括号内(dic2)被拼接值
# print(dic1)
打印结果为{'age': 18, 'name': 'haha', 'sex': 'male', 'weight': '70kg'}

字典的查找

dic1={'age':18,'name':'liu','sex':'male'}

print(dic1.keys(),type(dic1.keys())) #查找键

结果为dict_keys(['age', 'name', 'sex'])

若循环打印

#for i in dic1:
   # print(i)
结果为
age
name
sex

# print(dic1.values()) #查找值

结果为dict_values([18, 'liu', 'male'])

若循环打印

# print(dic1.values())
# for i in dic1.values():
#     print(i)

结果为

18
liu
male

# print(dic1.items()) #查找键和值

结果为dict_items([('age', 18), ('name', 'liu'), ('sex', 'male')])

若循环打印  

# print(dic1.items())
# for( k,l) in dic1.items():              #  k代表键(key)的循环,l代表值(value)得循环
#     print(k,l)

结果为

age 18
name liu
sex male

键的查找

 
dict.get(key, default=None)
key -- 字典中要查找的键。
default -- 如果指定键的值不存在时,返回该默认值None。

 

原文地址:https://www.cnblogs.com/liusouthern/p/8075084.html