第二个月课堂004讲解python之实战之字典(004)_高级讲师肖sir

# python中的字典:dict类型
# 键值对组成
# 键是唯一,值可以不唯一
# {} 英文的大括号 也叫花括号
# # 字典中键值是一个整体,如有多个键值对要用英文的,逗号隔开
# # 整数类型不需要加单双引号外,其它都需要加单双引号
# # 键和值用英文的:冒号  比如:name:zhangsan

(1)定义一个字典

d ={'name':'zhangsan','age':18} #定义一个字典

print(type(d)) #<class 'dict'>字典的类型
print(d) #打印结果为:{'name': 'zhangsan', 'age': 18}

(2)
列表转换成字典步骤 重点:(使用dict 就可以转换)
第一步:定义一个列表
l =[('name','zhangsan'),('age',18)]
第二步:使用dict 将列表转换成字典
di_ct=dict(l)#将列表转换成为字典
第三步:查看字典的类型
print(type(di_ct)) #<class 'dict'>字典类型
第四步:在打印字典
print(di_ct) #{'name': 'zhangsan', 'age': 18}
备注:字典转换是键与值一组,所以是2个值一组

(3)字典中添加键值对: 格式:变量名[键] =值
注意:字典中添加新的的键和值
d ={'name':'zhangsan','age':18}#定义一个字典
d['scroe']=100
print(d) #{'name': 'zhangsan', 'age': 18, 'scroe': 100}

(4)字典中有键,替换值(键不变,值变)
c= {'name': 'zhangsan', 'age': '18'}
c['name'] = 200
print(c) # 打印结果:{'name': 200, 'age': '18'}
小结:《1》、给字典中增加一个键值对:如原字典内没有相同的键值对则新增一个
《2》、如原有字典中有相同的键,则会将对于的键的值进行重新赋值''
3、通过keys取出对应的键
d ={'name':'lis','age':18} #定义一个字典
print(d.keys()) #(['name', 'age'])
# 通过keys来取出对应的键
print(type(d.keys())) #<class 'dict_keys'>

4、通过values 取出字典中对应的值
v={'name':'lis','age':18} #定义一个字典
print(v.values()) #['lis', 18]

 5、通过键来获取对应键的值

k ={'name':'lisi','age':18} #定义一个字典
print(k['name']) #lisi

 6、6.1添加设置默认键值setdefault 

mr ={'name':'lis','age':18} #定义一个字典6.1默认值不存在的情况下,直接添加键值mr.setdefault('scroe',100)

print(mr) #{'name': 'lis', 'age': 18, 'scroe': 100}

6.2 已有键值,在使用默认键值不会进行修改,或者增加 mr.setdefault('name','zhangsan') print(mr) #{'name': 'lis', 'age': 18, 'scroe': 100}
备注:已经存在的值的优先级>默认值
6.3 直接修改 值,显示最新修改值 (修改默认值优先级小于直接添加的字典值)
mr['name']='wangwu' print(mr) #{'name': 'wangwu', 'age': 18, 'scroe': 100}


7、删除键:(删除键,值也没有了)

dellkey={'name':'zhangsan','age':18}
del dellkey[ 'name']
print (dellkey)
注意点:键和值都要用引号,除数值外

 8、使用for 循环获取key

d ={'name':'zhangsan','age':18}
for k in d:
    print(k)  #拿到的是:键 值不拿

9、使用for循环获取key,values

s ={'name':'zhangsan','age':18}
for k in s:
    print(k,s[k])

 10、# 通过items()方法来获取对应键值对 

t ={'name':'zhangsan','age':18}
for k,v in t.items():
    print(k,v)

 11、'通过pop函数删除指定的键,打印返回对应键的值'''

方法一:pop删除指定的键,返回对应的值

d2 ={'name':'zhangsan','age':18}
print(d2.pop('name')) #zhangsan

 方法二:popitem在字典删除键值对,一般默认在末尾

d ={'name':'zhangsan','age':18,'':100}
print(d.popitem()) #('', 100)
备注:打印结果:字典中最后一个键值

 12、clear  来清空当前字典中的键值对,返回一个空字典

d3 ={'name':'zhangsan','age':18}
d3.clear() #通过clear()来清空当前字典中的键值对
print(d3) #  打印结果:{}清空后返回就是一个空字典

13、get   ,get通过键获取对应的值

d ={'name':'zhangsan','age':18,'':100}
print(d) #{'name': 'zhangsan', 'age': 18, '': 100}
print(d.get('name')) #zhangsan #通过键获取值
print(d.get('')) #100
print(d.get('age')) #18
print(d.get('score')) #None  #通过不存在的键,返回的是none
print(d.get(100)) #None      #通过值去获取,返回时的none

 

 14、快速生成一个新字典的方法fromkeys

方法一:

第一种情况:生成一个新的字典的键

print ({ }.fromkeys(['name','age']))  #{'name': None, 'age': None}

 第二种情况:生成一个字典的键和值

print({}.fromkeys(['name','age'],'a')) #{'name': 'a', 'age': 'a'}

 方法三:快速生成字典,并赋同样的值

d={'name':'zhang','age':18}
print(d.fromkeys(['name','age'],'c')) #{'name': 'c', 'age': 'c'}

 15、update  方法 将多个字典合并

d1 ={'name':'zhangsan','age':18} #定义一个字典
d2={'scroe':100} #定义一个字典
d1.update(d2) #通过update方法将d1字典和d2字典进行合并
print(d1) #{'name': 'zhangsan', 'age': 18, 'scroe': 100}
备注:合并字典以后,在d1表中

 16、copy 复制字典

s={"name":"zhangsan","age":15}
c= s.copy()
print (c)
print (s)

 17、del删除字典

#场景一:
d={"name":"lixi","age":18}
del d
#场景二:删除键
d={"name":"lixi","age":18}
print(d)
# del (d["name"])
# print(d)

  

 备注:has_key  在python2中有,在python3中不存在

原文地址:https://www.cnblogs.com/xiaolehua/p/13976771.html