第五章 数据结构5
相关代码如下
# 集合
# 集合中无重复数字
numbers = [1, 1, 2, 3, 4]
first = set(numbers) # set()可将列表转化为集合
second = {1, 5}
# second.add(5)
# second.remove(5)
# len(second)
print(first | second) # 集合名 | 集合名,输出并集
print(first & second) # 集合名 & 集合名,输出交集
print(first - second) # 集合名 & 集合名,输出集合一有的集合二无的差集
print(first ^ second) # 集合名 ^ 集合名,输出共同差集,即一个集合有另一个无的内容
if 1 in first:
print("yes")
# 集合不是序列,是无序的,所以无法通过序号进行输出,如 first[1] 是无意义的
# 字典
point = {"x": 1, "y": 2}
point = dict(x=1, y=2) # 两种定义字典的方式
print(point["x"])
point["x"] = 10 # 修改一个键对应的值
point["z"] = 20 # 增加一对
print(point)
if "a" in point:
print(point["a"])
# 检查是否存在"a",若存在便输出
print(point.get("a", 0))
# get函数若为 point.get("a"),"a"不存在则输出none,若get函数为 point.get("a",0) ,则默认返回 0
del point["x"] # 删除键值
print(point)
for key in point:
print(key, point[key]) # 建议遍历字典时用key作为未知量
for key, value in point.items():
print(key, value) # 两种遍历字典的方式
# 字典推导式
# values = []
# for x in range(5):
# values.append(x * 2) 作用同下
values = [x * 2 for x in range(5)]
# 集合、列表、字典都可以用字典推导式进行编写,元组不行
输出内容
{1, 2, 3, 4, 5}
{1}
{2, 3, 4}
{2, 3, 4, 5}
yes
1
{'x': 10, 'y': 2, 'z': 20}
0
{'y': 2, 'z': 20}
y 2
z 20
y 2
z 20