二十、Python基础语法(集合(set))

集合(set):表现形式{数据, 数据, 数据},集合(set)是一种无序的、不重复元素的可变容器数据类型,可以使用这个特点对列表中的数据进行去重处理(处理方法:先把列表转换为集合类型,再把集合转换为列表类型)

一、集合的定义

1.使用花括号{}直接定义:

例如:my_set = {1, 2, 3},这里定义了一个包含元素 1、2、3 的集合。

注意:使用这种方式定义集合时,不能直接定义空集合,因为{}会被解释为一个空字典。

2.使用set()函数定义:

定义空集合:empty_set = set()

将列表传入set()创建集合:my_set = set([1, 2, 3])

二、集合的增删改查

1、增加元素

a.使用 add() 方法添加单个元素:

my_set = {1, 2, 3}
my_set.add(4)
print(my_set)  # {1, 2, 3, 4}

b.使用update()方法添加多个元素

 

my_set = {1, 2, 3}
my_set.update([4, 5])
print(my_set)  # {1, 2, 3, 4, 5}

2、删除元素

a.使用 remove() 方法删除指定元素,如果元素不存在会抛出 KeyError

my_set = {1, 2, 3}
my_set.remove(2)
print(my_set)  # {1, 3}

b.使用 discard() 方法删除指定元素,如果元素不存在不会抛出错误:

my_set = {1, 2, 3}
my_set.discard(4)
print(my_set)  # {1, 2, 3}

 c.使用pop()方法随机删除并返回一个元素,如果集合为空则抛出KeyError:

my_set = {1, 2, 3}
popped_element = my_set.pop()
print(popped_element)  # 随机删除一个元素
print(my_set)  # 集合少了一个元素

3、修改元素(集合的元素具有不可变性,不能直接修改,只能先删除再添加)

my_set = {1, 2, 3}
my_set.remove(2)
my_set.add(22)
print(my_set)  # {1, 3, 22}

4、查询元素

使用 in 关键字判断元素是否在集合中:

my_set = {1, 2, 3}
print(2 in my_set)  # True
print(4 in my_set)  # False

三、对列表去重

1.列表去重方式一,利用集合自动去重(但是会自动排序,改变了原列表的顺序)

my_list = [1, 4, 4, 2, 3, 9, 6, 7, 6]

print(my_list, type(my_list))  # [1, 4, 4, 2, 3, 9, 6, 7, 6] <class 'list'>
my_set = set(my_list)
print(my_set, type(my_set))  # {1, 2, 3, 4, 6, 7, 9} <class 'set'>

2.列表去重方式二,新建一个新的空列表,遍历旧列表数据,判断数据是否存在新列表中,如果不存在就将数据插 入新列表,存在则不插入

my_list = [1, 4, 4, 2, 3, 9, 6, 7, 6]
my_list2 = []

for i in my_list:
    if i not in my_list2:
        my_list2.append(i)

print(my_list2)  # [1, 4, 2, 3, 9, 6, 7]

上一篇:MySQL查看某个数据库里面每张表的字符集和字符排序集


下一篇:Go 语言基础教程:4.常量的使用