Python学习笔记-集合和字典

2019-09-27  本文已影响0人  土豆吞噬者

集合

集合写在大括号里,元素之间用逗号隔开,创建一个空集合必须用 set() 而不是 { },因为因为 { } 是用来创建一个空字典。

使用add()添加元素到集合,如果元素已存在,则不进行任何操作。update()也可以添加元素到集合,其参数可以是列表,元组,字典等并且可以有多个。

value=set()
value.add(1)
value.add(2)
value.add(2)
print(value)  # {1, 2}
value.update([2,3,4])
print(value)  # {1, 2, 3, 4}
value.update([3,4],(5,6))
print(value)  # {1, 2, 3, 4, 5, 6}

使用remove()从集合中移除元素,如果元素不存在则会报错,discard()也能从集合中移除元素,且元素不存在不会报错,我们还可以使用pop()随机删除一个元素,判断元素是否在集合中存在使用in,清空集合使用clear()。

value={1,2,3,4,5}
value.remove(1)
print(value)  # {2, 3, 4, 5}
value.discard(20)
value.pop()  # 有些情况下是删除第一个元素
print(value)  # {3, 4, 5}
if 5 in value:
    print("5 in set")
value.clear()
print(len(value))

使用运算符可以计算两个集合的差集,并集,交集。

set1={1,2,3,4,5}
set2={4,5,6,7}
# 记A和B是两个集合,则所有属于A且不属于B的元素构成的集合,叫做集合A和集合B的差集。
print(set1-set2)  # {1, 2, 3}差集
print(set2-set1)  # {6, 7}差集
print(set1 | set2)  # {1, 2, 3, 4, 5, 6, 7}并集
print(set1 & set2)  # {4, 5}交集
print(set1 ^ set2)  # {1, 2, 3, 6, 7}set1和set2中不同时存在的元素

字典

字典是是一个无序的 键(key) : 值(value) 的集合,写在大括号里,key-value之间用逗号隔开,值可以取任何数据类型,但键必须是可哈希的,例如字符串,数字。

字典的访问和修改和其它语言没什么区别,使用del删除字典中的元素,clear()清空字典。

dict={"xiaoming":20,"xiaohong":60,"xiaoqiang":98}
print(dict["xiaoming"])  # 20
dict["xiaoming"]=100
print(dict["xiaoming"])  # 100
print(len(dict))  # 3
del dict["xiaoming"]
print(len(dict))  # 2
dict.clear()
print(len(dict))  # 0

可以单独遍历字典的键或值,也可以一起遍历。

dict={"xiaoming":20,"xiaohong":60,"xiaoqiang":98}
for key in dict:
    print(key+":"+str(dict[key]))
for key in dict.keys():
    print(key + ":" + str(dict[key]))
for value in dict.values():
    print(value)
for key,value in dict.items():
    print(key + ":" + str(value))
上一篇下一篇

猜你喜欢

热点阅读