五 字典

# ======================================基本使用======================================
# 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]}

# ======================================该类型总结====================================
# 存多个值

# 无序

# 可变
posted @ 2021-09-19 21:41  MAL嘟嘟嘟  阅读(37)  评论(0)    收藏  举报