25-python基础-python3-集合(set)常用操作

sets 支持 x in set, len(set),和 for x in set。
作为一个无序的集合,sets不记录元素位置或者插入点。因此,sets不支持 indexing, slicing, 或其它类序列(sequence-like)的操作

1-简单的小例子
>>> x = set('spam')
>>> y = set(['h','a','m'])
>>> x, y
(set(['a', 'p', 's', 'm']), set(['a', 'h', 'm']))
2-小应用
>>> x & y # 交集
set(['a', 'm'])

>>> x | y # 并集
set(['a', 'p', 's', 'h', 'm'])

>>> x - y # 差集
set(['p', 's'])

3-去除海量列表里重复元素
>>> a = [11,22,33,44,11,22]
>>> b = set(a)
>>> b
set([33, 11, 44, 22])
>>> c = [i for i in b]
>>> c
[33, 11, 44, 22]

4-集合用于包含一组无序的对象。要创建集合,可使用set()函数并像下面这样提供一系列的项:
s = set([3,5,9,10])      #创建一个数值集合

t = set("Hello")         #创建一个唯一字符的集合
t

set(['H', 'e', 'l', 'o'])
 
与列表和元组不同,集合是无序的,也无法通过数字进行索引。此外,集合中的元素不能重复。例如,如果检查前面代码中t集合的值,结果会是:
注意只出现了一个'l'。

5-集合支持一系列标准操作,包括并集、交集、差集和对称差集,例如:
a = t | s          # t 和 s的并集

b = t & s          # t 和 s的交集

c = t – s          # 求差集(项在t中,但不在s中)

d = t ^ s          # 对称差集(项在t或s中,但不会同时出现在二者中)

6-基本操作:
t.add('x')            # 添加一项

s.update([10,37,42])  # 在s中添加多项

t.remove('H')  # 使用remove()可以删除一项

len(s)  #返回set的长度

x is s  # 测试x是否是s的成员

x not in s  # 测试x是否不是s的成员

7-高级测试操作
s.issubset(t)  # 测试是否 s 中的每一个元素都在 t 中
s <= t

s.issuperset(t) # 测试是否 t 中的每一个元素都在 s 中
s >= t
原文地址:https://www.cnblogs.com/summer1019/p/11344612.html