55.基础语法-集合

set集合

  • 用{}表示,其中的元素是“无序的”“不重复的”,重复的元素只会显示一个
  • 空集合必须用ser()创建

创建

j_c0 = {1, 2, 3, 4, 6}
j_c1 = {i for i in j_c0}
print(j_c1)
j_c2 = {i for i in j_c0 if i % 2 == 0}
print(j_c2)
j_c3 = {i**2 for i in j_c0}
print(j_c3)

  • .add(),.update()
    • .add()向原集合中添加单个新元素
    • .update()向原集合中添加一个可迭代的组合
j_z0 = {1, 2, 3, 4, 5}
j_z0.add(10)
print(j_z0)
print(id(j_z0))
j_z0.update({13, 14})
print(j_z0)
print(id(j_z0))

- .clear(),.remove(),.discard()
    - .remove() 删除单个元素时,如果元素不存在,会报错。
    - .discard() 删除单个元素时,如果元素不存在,不会报错
    - .pop() 随机删除一个元素,返回值是删除的元素

集合间的操作

交集:

  • .intersection() 返回新生成的集合
  • .intersection_update() 无返回值,在元集合上操作
j_m0 = {1, 2, 3, 4}
j_m1 = {3, 4, 5, 6}
j_m2 = {3, 4, 5, 6}
print(id(j_m0))
print(id(j_m0.intersection(j_m1, j_m2)))
print(j_m0.intersection(j_m1, j_m2))
j_m0 = {1, 2, 3, 4}
j_m1 = {3, 4, 5, 6}
j_m2 = {3, 4, 5, 6}
print(id(j_m0))
j_m0.intersection_update(j_m1, j_m2)
print(j_m0)
print(id(j_m0))

差集:

  • .difference() 返回新生成的集合
  • .difference_update() 无返回值,在元集合上操作
  • 可使用“-”操作
j_m0 = {1, 2, 3, 4}
j_m1 = {3, 4, 5, 6}
print(j_m0 - j_m1)

并集

  • .union 返回新生成的集合
  • 无_update函数,不能使用“+”操作
j_m0 = {1, 2, 3, 4}
j_m1 = {3, 4, 5, 6}
print(id(j_m0))
print(j_m0.union(j_m1))

补集

  • .symmetric_difference() 返回新生成的集合
  • .symmetric_difference_update 无返回值,在元集合上操作

冰冻集合

  • 不允许修改的集合
j_m0 = {1, 2, 3, 4}
print(j_m0)
print(frozenset(j_m0))

p = {1:"we", 2:45}
print(str(p))
原文地址:https://www.cnblogs.com/TK-tank/p/12345456.html