Python--小甲鱼学习笔记--第27课:集合(set()、frozenset())

1)、创建集合:set1 = {1,2,3,4,5},集合中重复的会被剔除掉,故每个元素是唯一的。

2)、集合是无序的,不支持索引。

3)、可以利用工厂函数set()来创建一个集合:set2 = set([1,2,3,4,5])。

4)、访问集合中的值:for进行遍历;in/not in判断是否在集合中;add()添加;remove()移除。

5)、不可变集合:用frozenset()来创建,其不可添加元素也不可移除已有元素。

6)、集合方法:

Python--小甲鱼学习笔记--第27课:集合(set()、frozenset())_第1张图片


0.请问集合的唯一作用是什么呢?

集合中的每个元素是唯一的


1.如果你希望创建的集合是不变的,应该怎么做?

使用frozenset()冻结,Set1 = frozenset([1,2,3,4,5])


2.请问如何确定一个集合里边有多少个元素?

使用len()函数


3.请目测以下代码会打印什么内容?

   >>> num_set = set([1, 2, 3, 4, 5]) 

>>>num_set[0]

会报错,集合是无序的,不支持索引


4.请问 set1 = {[1,2]} set1 = set([1, 2])执行的结果一样吗?

不一样,set1 ={[1, 2]}会报错,结果如下:

>>> set1 = {[1,2]}

Traceback (most recentcall last):

  File "", line 1,in

    set1 = {[1, 2]}

TypeError: unhashabletype: 'list'

结果表示列表(同理还有字典、元组)是不可哈希的。

而set1 =set([1, 2])生成{1, 2}

 

5.打开你的IDLE,输入set1= {1, 1.0},你发现了什么?

结果显示集合中只有{1.0},因为具有相同值的元素通过Python的哈希函数计算后得到的地址相同,而1和1.0是等值的,故地址相同,后边的1.0将会把前面的1覆盖掉。

 

6.请问如何给集合添加和删除元素?

使用add()方法添加元素,remove()方法删除集合中的已知元素。


你可能感兴趣的:(python学习)