python——集合

  在python中,字典的亲戚就是集合,集合就是无映射关系的字典,花括号并不是字典的特权。如下面程序所示:

1 >>> num = {}
2 >>> type(num)
3 <class 'dict'>
4 >>> num1 = {1,2,3,4,5}
5 >>> type(num1)
6 <class 'set'>

  众所周知,集合中的元素互不相同,python中也如此。且输出的数据按一定顺序排列。并且集合不支持索引。如下程序所示:

1 >>> num2 = {1,2,1,3,3,7,8,5,2,9}
2 >>> num2
3 {1, 2, 3, 5, 7, 8, 9}
4 >>> num2[2]
5 Traceback (most recent call last):
6   File "<pyshell#6>", line 1, in <module>
7     num2[2]
8 TypeError: 'set' object does not support indexing

  创建集合的方法有2种,一是上述形式,二是内置的函数set()

1 >>> set1 = set([1,2,3,4,5,5,2])
2 >>> set1
3 {1, 2, 3, 4, 5}

  往集合里面添加或者移除元素可用add()函数和remove()函数,如下程序所示:

 1 >>> set1 = set([1,2,3,4,5,5,2])
 2 >>> set1
 3 {1, 2, 3, 4, 5}
 4 >>> set1.add(5)
 5 >>> set1
 6 {1, 2, 3, 4, 5}
 7 >>> set1.add(6)
 8 >>> set1
 9 {1, 2, 3, 4, 5, 6}
10 >>> set1.remove(4)
11 >>> set1
12 {1, 2, 3, 5, 6}

  集合有不可变的集合,里面的元素不可改变。可用内置函数frozenset()函数创建,如下程序所示:

1 >>> set2 = frozenset([1,2,3,4,6])
2 >>> set2.add(5)
3 Traceback (most recent call last):
4   File "<pyshell#17>", line 1, in <module>
5     set2.add(5)
6 AttributeError: 'frozenset' object has no attribute 'add'

 集合类型内建方法总结(引用自‘鱼C工作室’):https://fishc.com.cn/thread-45276-1-1.html

原文地址:https://www.cnblogs.com/carlber/p/9403755.html