集合
集合写在大括号里,元素之间用逗号隔开,创建一个空集合必须用 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))