Python中基础数据类型 set集合知识点总结

  • Post category:Python

下面是对于“Python中基础数据类型set集合知识点总结”的完整攻略:

1. 什么是set?

set是Python的一种基本的数据类型,它是一个无序且不重复的集合(一个元素在set中只能出现一次)。在set中,可以进行成员检测、删除重复元素等操作。

2. 创建set

可以用set()函数来创建一个空集合,也可以使用大括号{}来创建一个集合。但是,使用大括号创建的集合需要注意,因为大括号也可以用来创建字典,所以如果要创建空set,必须使用set()函数来创建。

empty_set = set()  # 创建一个空集合
print(empty_set)   # 输出 set()

fruits = {'apple', 'banana', 'orange', 'apple', 'pear'}  # 定义一个包含重复元素的集合
print(fruits)      # 输出 {'banana', 'apple', 'orange', 'pear'}

3. set的操作

3.1 成员检测

可以使用in来检测集合中是否包含某个元素。

fruits = {'apple', 'banana', 'orange', 'pear'}
print('pear' in fruits)  # 输出 True
print('pineapple' in fruits) # 输出 False

3.2 集合操作

set除了常规的增删查操作,还支持诸如并集、交集、差集等操作。

set1 = set(range(10))      # 创建 0 到 9 的集合
set2 = set(range(5, 15))   # 创建 5 到 14 的集合

print(set1.union(set2))    # 输出并集 {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14}
print(set1.intersection(set2))  # 输出交集 {5, 6, 7, 8, 9}
print(set1.difference(set2))    # 输出差集 {0, 1, 2, 3, 4}

set1.update(set2)          # 将set2合并到set1中,与set1 |= set2 等价
print(set1)                # 输出 {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14}

4. set的应用

4.1 去除重复元素

set最常见的应用是用来去除一个列表中重复的元素。可以将列表转换成set集合,再将集合转换成列表。

numbers = [1, 2, 3, 4, 4, 5, 6, 6, 7]
unique_numbers = list(set(numbers))
print(unique_numbers)  # 输出 [1, 2, 3, 4, 5, 6, 7]

4.2 判断两个字符串是否包含相同的字符

set还可以用来判断两个字符串是否包含相同的字符。将两个字符串转换成set集合,然后计算它们的交集是否为空即可。

def contains_common_element(s1, s2):
    return len(set(s1).intersection(set(s2))) > 0

print(contains_common_element('hello', 'world'))  # 输出 True
print(contains_common_element('foo', 'bar'))      # 输出 False

以上就是关于“Python中基础数据类型set集合”的总结了。