python第二天

一、dict基本操作

dic = {"name":"张三","age":21}
# 增
dic['high'] = 185                     # 增加 ,结果:{'name': '张三', 'age': 21, 'high': 185}
dic.setdefault('weight')              # 只有不存在的键,默认值为none ,结果:{'name': '张三', 'age': 21, 'weight': None}
dic.setdefault('weight',150)          # 没有键值对,增加 ,结果:{'name': '张三', 'age': 21, 'weight': 150}
dic.setdefault('name','金城武')       # 已有键,不做任何改变, ,结果:{'name': '张三', 'age': 21}
print(dic)
# 删
print(dic.pop('age'))                 # 有返回值,按键去删除
print(dic.pop('sex'))                 # 找不带键,报错
print(dic.pop('sex','找不到'))         # 加个none参数,找不到键时,返回第二个参数
print(dic.popitem())                  # 随机删除 有返回值,3.6之后删除最后一个
del dic                               #删除字典
dic .clear()                          #清空字典
# 改
dic['age'] = 16                       # 修改 ,结果:{'name': '张三', 'age': 16}
dic2 = {"age":18,"sex":"male"}
dic.update(dic2)                      # 修改 ,结果:{'name': '张三', 'age': 18, 'sex': 'male'}
# 查
print(dic.get('name',''))             #按键查找,结果:张三
print(dic['name'])                    #按键查找,结果:张三
print(dic.keys(),type(dic.keys()))    #查找所有键,结果:dict_keys(['name', 'age']) <class 'dict_keys'>
print(dic.values())                   #查找所有值,结果:dict_values(['张三', 21])
print(dic.items())                    #查找所有键值对,结果:dict_items([('name', '张三'), ('age', 21)])
for i in dic: print(i)                #循环打印所有键,结果:name age
for i in dic.keys(): print(i)         #循环打印所有键,结果:name age
for i in dic.values(): print(i)       #循环打印所有值,结果:张三 21

二、dict嵌套操作

dic = {
    "name":"敲代码的彭于晏",
    "age":"21",
    "sex":"male",
    "hobby":["健身","swimming","敲代码"],
    "report":[
        {
            "name":"language",
            "score":85
        },
        {
            "name":"math",
            "score":90
        },
        {
            "name":"english",
            "score":80
        }
    ]
}
dic["name"] = "ws"
dic["hobby"][1]=dic["hobby"][1].capitalize()
dic["report"][0]["score"] = 100
print(dic)

三、set

set1 = {'死骑','月骑','蝙蝠骑士','龙骑士','混沌骑士'}
set1.add('全能骑士')
set1.update('ABC')          #update:迭代着增加
set1.update([1,2,3])        #update:迭代着增加
set1.remove('月骑')       # 删除一个元素
set1.pop()                  # 随机删除一个元素
set1.clear()                # 清空集合
del set1                    # 删除集合
print(set1)
#交集、& 、intersection
set1 = {1,2,3,4,5}
set2 = {4,5,6,7,8}
print(set1 & set2)                        # 结果:{4, 5}
print(set1.intersection(set2))            # 结果:{4, 5}
#并集、| 、 union
set1 = {1,2,3,4,5}
set2 = {4,5,6,7,8}
print(set1 | set2)                        # 结果:{1, 2, 3, 4, 5, 6, 7,8}
print(set2.union(set1))                   # 结果:{1, 2, 3, 4, 5, 6, 7,8}
#差集、- 、 difference
set1 = {1,2,3,4,5}
set2 = {4,5,6,7,8}
print(set1 - set2)                        # 对set1而言属于set1而不属于set2,结果:{1, 2, 3}
print(set1.difference(set2))              # 结果:{1, 2, 3}
#反交集、^ 、 symmetric_difference
set1 = {1,2,3,4,5}
set2 = {4,5,6,7,8}
print(set1 ^ set2)                        # 结果:{1, 2, 3, 6, 7, 8}
print(set1.symmetric_difference(set2))    # 结果:{1, 2, 3, 6, 7, 8}
#子集与超集
set1 = {1,2,3}
set2 = {1,2,3,4,5,6}
print(set1 < set2)              # 结果:True
print(set1.issubset(set2))                # 这两个相同,都是说明set1是set2子集。结果:True
print(set2 > set1)              # 结果:True
print(set2.issuperset(set1))              # 这两个相同,都是说明set2是set1超集。结果:True

 

posted @ 2019-04-30 17:21  敲代码的彭于晏  阅读(462)  评论(0)    收藏  举报