美文网首页
7、集合

7、集合

作者: Yerban | 来源:发表于2018-10-19 14:56 被阅读0次

集合

集合是一个无序的,不重复的数据组合,它的主要作用如下:

  • 去重,把一个列表变成集合,就自动去重了
  • 关系测试,测试两组数据之前的交集、差集、并集等关系
#!/usr/bin/env python
# coding: utf-8
# Author: Yerban


list_1 = [1, 4, 5, 7, 3, 6, 7, 9]
list_1 = set(list_1)

print(list_1, type(list_1))
# {1, 3, 4, 5, 6, 7, 9} <class 'set'>


list_2 = set([2, 6, 0, 66, 22, 8, 4])
print(list_1, list_2)
# {1, 3, 4, 5, 6, 7, 9} {0, 2, 66, 4, 6, 8, 22}
# 交集
print(list_1.intersection(list_2))
print(list_1 & list_2)
# {4, 6}

# 并集
print(list_1.union(list_2))
print(list_1 | list_2)
# {0, 1, 2, 3, 4, 5, 6, 7, 66, 9, 8, 22}

# 差集
print(list_1.difference(list_2))
print(list_1 - list_2)
# {1, 3, 5, 7, 9}
print(list_2.difference(list_1))
print(list_2 - list_1)
# {0, 2, 66, 8, 22}

# 子集,没有专门的符号运算
list_3 = set([1, 3, 7])
print(list_1.issubset(list_2))
# False
print(list_1.issuperset(list_2))
# False
print(list_3.issubset(list_1))
# True

# 对称差集,两个不同的集合中不重复的元素剔除组成的集合
print(list_1.symmetric_difference(list_2))
print(list_1 ^ list_2)
# {0, 1, 2, 66, 3, 5, 7, 8, 9, 22}

print("分割线".center(50, "-"))

print(list_1.isdisjoint(list_2))
# False
list_4 = set([5, 6, 8])
# 完全没有交集
print(list_3.isdisjoint(list_4))
# True

# add,添加一项
list_1.add(999)
print(list_1)
# {1, 3, 4, 5, 6, 7, 999, 9}
# 添加多项
list_1.update([666, 777, 888])
print(list_1)
# {1, 3, 4, 5, 6, 7, 999, 9, 777, 888, 666}

# remove,删除指定元素,不返回值,如果元素不存在,会报错。
list_1.remove(999)
print(list_1)
# {1, 3, 4, 5, 6, 7, 9, 777, 888, 666}

# len,set的长度
print(len(list_1))
# 10

# x in s ,测试x是否是s的成员
print(666 in list_1)
# True

# x not in s ,测试x是否是s的成员
print("666" not in list_1)
# True

# copy
list_5 = list_1.copy()
print(list_5)
# {1, 3, 4, 5, 6, 7, 9, 777, 888, 666}

# pop,删除任意元素,并返回
print(list_1.pop())
# 1
print(list_1)
# {3, 4, 5, 6, 7, 9, 777, 888, 666}

# discard,删除指定元素,不返回值,如果元素不存在,也不会报错。
list_1.discard(999)
print(list_1)
# {3, 4, 5, 6, 7, 9, 777, 888, 666}

相关文章

  • 7、集合

    集合 集合是一个无序的,不重复的数据组合,它的主要作用如下: 去重,把一个列表变成集合,就自动去重了 关系测试,测...

  • 7.集合

    1.java中数据存储(内存中)的容器:①数组 ②集合 2.数组在数据存储方面的不足: ①数组一旦初始化,其长...

  • Python数据类型-集合

    7、集合(Set) 集合(set)是一个无序的不重复元素序列。 7.1、创建集合 a、定义一个集合,将元素用 {}...

  • 广州顺手捡跑团

    活动须知 活动场地:我们在天河正佳广场门口集合 活动时间:初定于7月19日 晚上7:00集合,7:30准时开跑 参...

  • iOS7: 漫谈基础集合类(NSArray,NSSet,NSOr

    ios7基础集合类漫谈,效率

  • Python基础-07集合

    7.集合     集合的主要特性如下所示: 1.集合中不会存在重复元素,天生自带去重功能 2.集合可使用{item...

  • 2020-09-29集合和字符串及作业

    day7-集合和字符串 集合 什么是集合集合是容器型数据类型,将{}作为容器的标志,里面多个元素用逗号隔开:{元素...

  • redis 学习(7) -- 有序集合

    redis 学习(7) -- 有序集合 zset 结构 有序集合:有序、不能包含重复元素 每个节点包含:score...

  • 7. Set集合与Map集合

    JS 在以前只有一种集合类型,也就是数组类型。ES6 向 JS 添加了 Set 与 Map集合类型。 7.1 ES...

  • 7集合

网友评论

      本文标题:7、集合

      本文链接:https://www.haomeiwen.com/subject/wsxezftx.html