接下来我将详细讲解“跟老齐学Python之集合的关系”的完整攻略。
什么是集合?
集合是Python中的一种数据类型,它是一组无序、唯一的元素。集合的创建方式有两种,分别是使用set()
函数和使用花括号{}
。下面是两种方式的创建集合代码示例:
# 使用 set() 函数创建集合
my_set = set([1, 2, 3, 4, 5])
print(my_set)
# 使用花括号 {} 创建集合
my_set = {1, 2, 3, 4, 5}
print(my_set)
输出结果都是 {1, 2, 3, 4, 5}
,因为集合是无序的,所以元素在输出时的顺序可能有所不同。
集合的常用操作
添加元素
集合可以使用 add()
方法向其中添加元素,例如:
my_set = {1, 2, 3}
my_set.add(4)
print(my_set) # 输出: {1, 2, 3, 4}
删除元素
集合可以使用 remove()
或 discard()
方法删除元素,例如:
my_set = {1, 2, 3}
my_set.remove(2)
print(my_set) # 输出: {1, 3}
交集、并集和差集
- 交集:集合的交集可以使用
&
运算符或者intersection()
方法实现。示例代码如下:
set1 = {1, 2, 3}
set2 = {2, 3, 4}
common_set = set1 & set2
print(common_set) # 输出: {2, 3}
- 并集:集合的并集可以使用
|
运算符或者union()
方法实现。示例代码如下:
set1 = {1, 2, 3}
set2 = {2, 3, 4}
union_set = set1 | set2
print(union_set) # 输出: {1, 2, 3, 4}
- 差集:集合的差集可以使用
-
运算符和difference()
方法实现。示例代码如下:
set1 = {1, 2, 3}
set2 = {2, 3, 4}
diff_set = set1 - set2
print(diff_set) # 输出: {1}
跟老齐学Python中集合的应用
在跟老齐学Python中,集合的应用十分广泛。例如,在查找一个列表中所有不重复元素时,可以使用集合来实现:
my_list = [1, 2, 2, 3, 4, 4, 5, 5]
my_set = set(my_list)
unique_list = list(my_set)
print(unique_list) # 输出: [1, 2, 3, 4, 5]
另外,在实现诸如统计一段英文文本中各个单词出现次数等操作时,也可以使用集合来帮助我们实现。例如下面的代码,它读取一个文件,并统计其中各个单词出现的次数:
with open('english.txt', 'r') as f:
text = f.read()
words = text.split()
count_dict = {}
for word in words:
if word not in count_dict.keys():
count_dict[word] = 1
else:
count_dict[word] += 1
print(count_dict)
但是我们会发现,上面的代码并没有考虑到单词大小写、标点符号等问题,所以统计结果可能不准确。这时候,我们可以通过将所有单词转换成小写,并过滤掉标点符号之后,再统计它们的出现次数。下面的代码演示了如何使用集合帮助我们完成这个操作:
import re
with open('english.txt', 'r') as f:
text = f.read()
words = re.findall(r'\b\w+\b', text.lower())
count_dict = {}
for word in words:
if word not in count_dict.keys():
count_dict[word] = 1
else:
count_dict[word] += 1
print(count_dict)
上面的代码使用了正则表达式来过滤标点符号,并将所有单词转换成小写,再进行统计。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:跟老齐学Python之集合的关系 - Python技术站