005_字典

1,字典
  • 字典特性  
  • 字典没有索引
  • 字典一个键对应一个键值
  • 注意:规范书写

2,#字典的创建

dic = {}
print(dic)      #结果:{}
dic = {'name': 'py', 'age': 20, 'sex': '男'}
print(dic)      #结果:{'name': 'py', 'age': 20, 'sex': '男'}
3, setdefault(键,值)字典元素的增加
  • 如果这个键不存在字典中,则将这个键值对添加进字典,并返回这个新键的值
  • 如果这个键存在,不做任何改变,并返回这个键的值,
dic = {'name': 'py', 'age': 20, 'sex': '男'}
dic.setdefault('love')      #添加键值对'love':'None'
v = dic.setdefault('job','set') #添加键值对'job':'set'
print(dic)
print(v)                    #返回新键的值
print(dic.setdefault('age',30))     #已存在的键不做任何更改并返回键值

#结果:{'name': 'py', 'age': 20, 'sex': '男', 'love': None, 'job': 'set'}
#      set
#      20
4,字典增改
dic = {'name': 'py', 'age': 20, 'sex': '男', 'num': [1, 2, 3]}
dic['love'] = 'set'             #没有键值对,添加
dic['age'] = 30                 #如果有键,则值覆盖
print(dic)          #结果:{'name': 'py', 'age': 30, 'sex': '男', 'num': [1, 2, 3], 'love': 'set'}
#注意:
dic['num'][1] = 5
print(dic)          #结果:{'name': 'py', 'age': 30, 'sex': '男', 'num': [1, 5, 3], 'love': 'set'}
5,字典删除
  • pop() #有返回值,按键去删除
dic = {'name': 'py', 'age': 20, 'sex': '男', 'num': [1, 2, 3]}
print(dic.pop('age'))       #删除存在的键age    #结果:20
#删除不存在的键时一定要设定异常处理的返回值(这里设的‘没有此键’),不然会报错。
print(dic.pop('love','没有此键'))       #结果:没有此键
print(dic) 
6,popitem() #默认删除最后一个
  • 以元组的形式返回删除的键和值
# dic = {'name': 'py', 'age': 20, 'sex': '男', 'num': [1, 2, 3]}
# print(dic.popitem())        #结果:('num', [1, 2, 3])
# print(dic)                  #结果:{'name': 'py', 'age': 20, 'sex': '男'}
7,del()  #删除的元素不存在会报错
dic = {'name': 'py', 'age': 20, 'sex': '男', 'num': [1, 2, 3]}
del dic['num']
print(dic)          #结果:{'name': 'py', 'age': 20, 'sex': '男'}
8,清空或删除字典
dic = {'name': 'py', 'age': 20, 'sex': '男', 'num': [1, 2, 3]}
dic.clear()     #清空字典
print(dic)      #结果:{}
del dic         #删除字典
print(dic)      #结果:报错
9,updata()  将一个字典更新到另一个字典
dic1 = {'name': 'py', 'age': 20}
dic2 = {'age': 18, 'love': 'job'}
dic1.update(dic2)       #将dic2的内容更新到dic1中
print(dic1)     #结果:{'name': 'py', 'age': 18, 'love': 'job'}
print(dic2)     #结果:{'age': 18, 'love': 'job'}
10,查
#查所有键
dic = {'name': 'py', 'age': 20}
print(dic.keys(),type(dic.keys()))
#查所有键值
print(dic.values())
#查所有元素
print(dic.items())
#结果     注意:查到的结果的类型还是字典
# dict_keys(['name', 'age']) <class 'dict_keys'>
# dict_values(['py', 20])
# dict_items([('name', 'py'), ('age', 20)])

 

# dic = {'name': 'py', 'age': 20}
# for k, v in dic.items():        #用了分别赋值
#     print(k, v)
# # 结果:
# # name py
# # age 20

# dic = {'name': 'py', 'age': 20}
# for i in dic.items():
#     print(i)
# #结果     以元组的形式返回键值
# # ('name', 'py')
# # ('age', 20)
11,得到一个键值
  11.1,直接获取
dic = {'name': 'py', 'age': 20}
v = dic['name']
print(v)        #结果:py

v = dic[love]     #获取不存在的键报错
  11.2,通过get()获取
v = dic.get('name')
print(v)        #结果:py
v = dic.get('love', '没有这个键')   #要设置异常处理,不然对于不存在的键会报错
print(v)        #结果:没有这个键

  

  

  

原文地址:https://www.cnblogs.com/eternity-twinkle/p/10476608.html