集合的创建和修改

进行集合相关操作和运算,首先要创建集合。有集合以后,可以对集合的元素进行添加和删除等操作。注意,从概念上讲,集合元素是无序的,无法索引;集合元素的值也是不能改变的,除非删除以后添加一个新的值。

创建集合

【Excel VBA】

Excel VBA中没有集合数据类型,有一个Collection对象,也就是VB或VBA编程人员熟悉的集合对象,使用它可以方便地对不同的对象进行存储和管理。但这里我们不使用该对象讨论集合,而是用数组代替集合。在Excel VBA中创建数组,请参见第8章的内容。

【Python】

可以使用大括号({})直接创建集合,元素可以有不同的数据类型。下面创建一个集合:

code.python
>>> st={1, "dqexcel"}
>>> st
{1, 'dqexcel'}

注意:集合中的元素可以无序,但是必须唯一,也就是不能重复。

也可以使用set函数创建集合,或者把其他可迭代对象转换为集合。其他可迭代对象包括字符串、区间、列表、元组、字典等。

code.python
>>> set({1,"dqexcel"})    #直接创建
{1, 'dqexcel'}
>>> set("abcd")    #转换字符串
{'b', 'c', 'd', 'a'}
>>> set(range(5))    #转换区间
{0, 1, 2, 3, 4}
>>> set([1,"dqexcel"])    #转换列表
{1, 'dqexcel'}
>>> set((1,"dqexcel"))    #转换元组
{1, 'dqexcel'}
>>> set({1:"a",2:"b"})    #转换字典
{1, 2}

如果可迭代对象中存在重复数据,则最后生成的集合中只保留一个。利用集合的这个特点,可以对给定数据进行去除重复数据的操作。

code.python
>>> st=set([1,"a",1,"a"])
>>> st
{1, 'a'}

集合中元素的个数称为集合的长度。使用len函数计算集合的长度。

code.python
>>> st={1,2}
>>> len(st)
2

或者直接

code.python
>>> len({1,2})
2

集合元素的添加和删除

【Excel VBA】

本章用数组代替集合讨论问题,关于数组元素的添加和删除,请参见第7章的介绍。

【Python】

使用集合对象的add方法往集合中添加元素。下面创建集合st并往集合中添加元素4:

code.python
>>> st={1, "a"}
>>> st.add(4)
>>> st
{1, 4, 'a'}

使用集合对象的remove方法从指定集合中删除元素。下面从集合st中删除元素4:

code.python
>>> st. remove(4)
>>> st
{1, 'a'}

使用集合对象的clear方法将集合中的所有元素清空。

code.python
>>> st. clear()
>>> st
set()