您的位置:首页 > 编程语言 > Python开发

学习笔记-小甲鱼Python3学习第二十七讲:集合:在我的世界里,你就是唯一

2018-09-05 20:32 417 查看
集合:

一组用{}花括号扩来的无序元素,如果这些元素在定义集合时有重复,重复的只保留一个,元素具有唯一性。
集合不支持index索引

创建集合:
一种是直接把一堆元素用{}花括号括起来
一种是使用set()工厂函数

去掉列表中重复的元素
num = [0,1,2,3,4,5,5,3,1]
学过的方法
num1 = []
for each in num:
if each not in num1:
num1.append(each)
>>> print(num1)
[0, 1, 2, 3, 4, 5]

使用set()函数
num1 = list(set(num))

访问集合中的元素
num2 = {0,1,2,3,4,5}
可以使用for把集合中的数据一个个读取出来
for each in num2:
print(each)
可以通过in和not in 判断一个元素是否在集合中
1 in num2
7 not in num2

添加元素add()方法
num2.add(6)
删除一个元素remove()方法
num2.remove(4)

不可变集合
frozenset()
num3 = frozenset([0,1,2,3,4,5])
>>> num3.add(6)
Traceback (most recent call last):
File "<pyshell#71>", line 1, in <module>
num3.add(6)
AttributeError: 'frozenset' object has no attribute 'add'
不能添加元素,也不能删除元素

------------------------分隔符,哈哈哈------------------------
课后作业:

0.请问集合的唯一作用是什么呢?
确保集合中的元素具有唯一性

1.如果你希望创建的集合是不变的,应该怎么做?
使用frozenset()函数

2.请问如何确定一个集合里面有多少个元素?
使用len()函数,len(setname)

3.请目测以下代码会打印什么内容?
>>> num_set = set([1,2,3,4,5])
>>> num_set[0]
报错,集合是无序的不支持索引

4.请问set1={[1,2]}和set1=set([1,2])执行的结果一样吗?
不一样,第一个会报错,第二个生成一个集合

5.打开IDLE,输入set1 ={1,1.0},你发现了什么?
得到集合{1.0},因为在python的哈希函数会把相同的值计算得到相同的地址,所以1和1.0是等值

6.请问如何给集合添加和删除元素?
添加元素add()方法
删除元素remove()方法

--------------------分割线,哈哈哈-----------------------
动动手:
0.自学扩展,集合类型内建方法总结:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python 入门 集合