集合基本使用-练习-高级使用

集合基本使用-练习-高级使用

集合是一个不重复的无序的数据,可以使用 {} 或者 set 来表示。
{} 有两种意思。
{}里如果放的是键值对,它就是一个字典,如果 {} 放的是单个的值,就是一个集合。

person = {'name': 'zhangsan', 'age': 18}  # 字典
x = {'hello', 1, 'good'}  # 集合

# 如果有重复的数据,会自动去除
names = {'zhangsan', 'lisi', 'jack', 'tony', 'jack', 'lisi'}
print(names)

#set 能不能进行增删改查
names.add('嵇康')  # 添加一个元素
print(names)

names.pop()  # 删除一个元素
# print(names)

names.remove('zhangsan')  # 删除一个指定的元素
print(names)

#union 将多个集合合并成一个新的集合
y = names.union({'刘能', '赵四'})
print(y)

#A.update(B) #将B拼接到A里
names.update({'刘能', '赵四'})
print(names)

# names.clear()  # 清空一个集合
# 空集合的的表示方式不是 {} ,{} 表示的一个空字典
# 空集合 set()
# print(names)

去重排序

# 去重排序
nums = [5, 8, 7, 6, 4, 1, 3, 5, 1, 8, 4]
x = set(nums)
y = list(x)
y.sort(reverse=True)
print(y)

高级使用

first = {'李白', '白居易', '李清照', '杜甫', '王昌龄', '王维', '孟浩然', '王安石'}
second = {'李商隐', '杜甫', '李白', '白居易', '岑参', '王昌龄'}
third = {'李清照', '刘禹锡', '岑参', '王昌龄', '苏轼', '王维', '李白'}

# set 支持很多算数运算符
print(first - second)  # A - B 求A 和 B 的差集
print(second - first)
print(first & second)  # A $ B 求A 和 B 的交集
print(first | second)  # A | B 求A 和 B 的并集
print(first ^ second)  # A | B 求A 和 B 的差集的并集
上一篇:sklearn.datasets


下一篇:【机器学习】数据的数据表示和可视化