【python027--集合】

一、集合会剔除字典内重复的数字

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

---剔除了重复的数字,并且看num是个set类型(集合类型)

二、如何创建一个集合

1、一种是直接把一堆元素用花括号括起来

2、一种是使用set()工厂函数:set()函数可以传入一个列表,元组,还可以传入一个字符串

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

3、去掉列表内重复的元素:[1,2,3,4,5,5,3,1,0]

---利用for循环的普通代码:

>>> num1 = [1,2,3,4,5,5,3,1,0]
>>> temp = []
>>> for each in num1:
    if each not in temp:
        temp.append(each)


>>> temp
[1, 2, 3, 4, 5, 0]

---利用集合

>>> num1 = [1,2,3,4,5,5,3,1,0]
>>> num1 = set(num1)
>>> num1
{0, 1, 2, 3, 4, 5}   #set():转换成集合
>>> num1 = list(set(num1))
>>> num1
[0, 1, 2, 3, 4, 5]  #list:把集合继续转换成列表
>>>

三、如何访问集合中的值

1、可以使用for把集合中的数据一个个读取出来

2、可以通过in 和not in判断一个元素是否在集合中已经存在

>>> 1 in num1
True
>>> '1' in num1
False
>>>

3、增加,删除集合内的数据

>>> num2 = {0, 1, 2, 3, 4, 5}
>>> num2.add(6)
>>> num2
{0, 1, 2, 3, 4, 5, 6}
>>> num2.remove(3)
>>> num2
{0, 1, 2, 4, 5, 6}
>>>

4、frozen:冰冻的,冻结的(保证集合是不变的)

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

四、集合的唯一作用是什么呢

1、集合几乎所有的作用就是确保里面包含的元素的唯一性

五、请问如何确定一个集合里面有多少个元素

>>> num4 = set([1,2,3,4,5])
>>> len(num4)   #采用len()函数
5
>>>

六、集合是无序的,举例证明:

>>> num4 = set([1,2,3,4,5])
>>> num4[0]
Traceback (most recent call last):
  File "<pyshell#61>", line 1, in <module>
    num4[0]
TypeError: 'set' object does not support indexing   -->  'set'对象不支持索引
>>>

猜你喜欢

转载自www.cnblogs.com/frankruby/p/9274376.html