Python练习题详解之集合(小白友好)

你好!欢迎来到Python练习题详解系列。为了让小白(也就是我本人)更好的理解代码,打好编程基础,我决定仔细地解说一些练习题。欢迎阅读!

首先,我们来看看集合 (set) 是什么~

Python练习题详解之集合(小白友好)

他和字典非常像,如果大括号里没有映射,那就变成了一个集合。

集合具有唯一性,集合里会帮你剔除掉重复的数据。

Python练习题详解之集合(小白友好)

集合里面没有顺序,所以不支持索引 indexing。

Python练习题详解之集合(小白友好)

创建集合有两种方法:

一种是直接把一堆元素用大括号{ }括起来;

另一种是用set(),括号里可以是列表或者元祖~

 

Python练习题详解之集合(小白友好)

如果我们想访问集合中的元素,应该怎么办呢?

由于集合中的元素是无序的,所以并不能像序列那样用下标来进行访问,但是可以使用迭代把集合中的数据一个个读取出来:

Python练习题详解之集合(小白友好)

当然也可以使用in或者not in判断一个元素是否在集合中已经存在:

Python练习题详解之集合(小白友好)

另外,使用add()方法可以为集合添加元素,使用remove()方法可以删除集合中已知的元素:

Python练习题详解之集合(小白友好)

有些时候,我们希望集合中的元素具有稳定性,也就是说,像元组一样不能随意的增加或者删除集合中的元素。那么我们可以定义不可变集合,这里使用的是frozenset()函数,没错,就是把元素frozen(冰冻)起来:

Python练习题详解之集合(小白友好)

题目:

我想要删除一个列表里重复的数据,应该怎么做呢?

列表如下:

number1 = [1,2,3,4,5,2,3,4,5]

思路:因为我们学了集合,而集合具有唯一性,可以剔除掉多余的元素。那么我们要把它换成集合,用集合的形式可以把列表里重复的数字删除,那就是要用到set()

而输出依然要是列表的话,我们就再用一个list()来转化他。

答案:

number1 = list ( set ( number1 ) )