五 字典
# ======================================基本使用======================================
# 1、用途:
# 2、定义方式:在{}内用逗号分割开多个元素,每个元素都是key:value的形式
# 其中value可以是任意类型,而key必须是不可变类型,通常是字符串类型
# dic = {1:111111,33.33:"aaa",(1,2,3):'bbbb'} # dic = dict(...)
# print(dic[(1,2,3)])
# dict数据类型转换
# dic = dict([('name','egon'),('age',18)])
# print(dic)
#
# dic = dict(name='egon',age=18,gender='male')
# print(dic)
# 3、常用操作+内置的方法
# 优先掌握的操作:
# 1、按key存取值:可存可取
# dic = {'name': 'egon', 'age': 18}
# print(dic['name'])
# print(dic['name1']) # 直接报错
# print(dic.get('name'))
# print(dic.get('name1')) # none
# dic['gender'] = 'male'
# print(dic) # # {'name': 'egon', 'age ': 18, 'gender': 'male'}
# dic = {'name': 'egon', 'age': 18,'name':"tom",'name':'lili'}
# print(dic) #{'name': 'lili', 'age': 18}
# 2、长度len
# dic = {'name': 'egon', 'age': 18}
# print(len(dic)) # 2
# 3、成员运算in和not in
# dic = {'name': 'egon', 'age': 18}
# print('name' in dic)
# 4、删除
# 万能删除
# del dic['name']
# print(dic)
# dic.pop()
# v = dic.pop('name')
# print(v) # egon
# dic.popitem()
# res = dic.popitem()
# print(res) # ('age', 18)
# 5、键keys(),值values(),键值对items()
"""
>>> dic = {'name': 'egon', 'age': 18}
>>>
>>>
>>> dic.keys()
['age', 'name']
>>>
>>> dic.values()
[18, 'egon']
>>>
>>> dic.items()
[('age', 18), ('name', 'egon')]
"""
# 6、循环
# dic = {'name': 'egon', 'age': 18}
# # for k in dic.keys():
# # print(k)
#
# # for k in dic:
# # print(k) # name age
#
# # for v in dic.values():
# # print(v) # egon 18
#
# for k,v in dic.items():
# print(k,v) # name egon age 18
# 需要掌握的操作
# dic = {'name': 'egon', 'age': 18}
# dic.update({'name': "EGON", 'gender': "male"})
# print(dic)
# dic = {'name': 'egon', 'age': 18,'level':100}
# # 如果level这个key存在于字典中,则什么都不做
# # 否则就往字典中添加一组键值对'level':10
#
# # if 'level' in dic:
# # pass
# # else:
# # dic['level'] = 10
#
# v = dic.setdefault('level',10) # 存在则不变 不存在则新建
# # print(dic) # {'name': 'egon', 'age': 18, 'level': 10}
# print(v) # 10
# dic = {'name': 'egon', 'age': 18,'level':22}
# v = dic.setdefault('level',10)
# print(dic) # {'name': 'egon', 'age': 18, 'level': 22}
# print(v) # 22
# l = ['name', 'age', 'gender']
# dic = {}
# for x in l:
# dic[x] = None
# dic = {}.fromkeys(l,None) # {'name': None, 'age': None, 'gender': None}
# dic = {}.fromkeys(l,[]) # {'name': [], 'age': [], 'gender': []}
# dic['name'].append(111) # {'name': [111], 'age': [111], 'gender': [111]}
# print(dic)
# 练习:
nums = [11, 22, 33, 44, 55, 66, 77, 88, 99, 90]
dic = {'k1': [], 'k2': []}
for num in nums:
if num > 66:
dic['k2'].append(num)
else:
dic['k1'].append(num)
print(dic) # {'k1': [11, 22, 33, 44, 55, 66], 'k2': [77, 88, 99, 90]}
# ======================================该类型总结====================================
# 存多个值
# 无序
# 可变
浙公网安备 33010602011771号