Python 字典&集合 的深入学习

1.字典
2.集合


一、字典

1.增

# 正常写法
dic = {"a":1,"b":2}
dic["c"] = 3

# formkeys()  使用一组键和默认值创建字典
lst = ["a","b","c"]
dic = {}.formkeys*(lst,None)

2.删

pop()    通过键去删除键值对 (若没有该键可设置默认值,预防报错)
popitem()    删除最后一个键值对
clear()    清空字典

###使用
## pop()
dic = {"a":1,"b":2}
res = dic.pop("a")
# 键不存在时
res = dic.pop("c","抱歉,该键不存在")

3.改

update()    批量更新

dic = {"a":1,"b":2}
dic_new = {"c":3,"d":4}
dic.update(dic_new)
print(dic)

4.查

get()      通过键获取值(若没有该键可设置默认值,预防报错)
keys()     将字典的键组成新的可迭代对象  
values()    将字典的键值组成新的可迭代对象
items()    将字典的每一个键值对凑成一个个元组,组成新的可迭代对象

### 使用
## keys()
dic = {"a":1,"b":2}
res = dic.keys()
print(res)      # dict_keys(['a', 'b'])

## values()
dic = {"a":1,"b":2}
res = dic.values()
print(res)      # dict_values([1, 2])

## items()
dic = {"a":1,"b":2}
res = dic.items()
print(res)    # dict_items([('a', 1), ('b', 2)])

for k,v in dic.items():
    print(k,v)      # a 1
                    # b 2

二、集合

1.交、差、并、补

(1).交集

res = set1 .intersection(set2)
res = set1 & set2

(2).差集

res = set1.difference(set2)
res = set1 - set2

(3).并集

res = set1.union(set2)
res = set1 | set2

(4).对称差集

res = set1.symmetric_difference(set2)
res = set1 ^ set2

(5).判断是否是子集

res = set1.issubset(set2)
res = set1 < set2

(6).判断是否是父集

res = set1.issuperset(set2)
res = set1 > set2

(7).检测两集合是否不相交

res = set1.isdisjoint(set2)

2.集合的相关函数

(1).增

add()    向集合中添加数据(一次添加一个)
update()    迭代增加(一次添加多个)

## update()
setvar = set()
 lst = [1,2,3]
setvar.update(lst)
print(setvar)

(2).删

clear()    清空集合
pop()      随机删除
remove()   指定删除,没有会报错
discard()  指定删除,没有则不会删除,不报错

3.冰冻集合

当前数据不希望被添加或者删除时,一般传递时变成冰冻集合

## forzenset()
setvar = {1,2,3,4}
fz = forzenset(setvar)
print(fz , type(fz))

1.只能做 交、差、并、补
2.可以通过 for 循环进行遍历

你可能感兴趣的:(Python 字典&集合 的深入学习)