📅  最后修改于: 2023-12-03 15:19:36.649000             🧑  作者: Mango
在 Python 中,有多种方式可以创建和操作字符串。本篇文章将介绍如何使用集合(set)来处理字符串。
集合是一组无序、唯一的元素的容器,其中的元素不重复。在 Python 中,可以使用大括号({})或 set() 函数来创建集合对象。例如:
set1 = {'apple', 'banana', 'orange'}
set2 = set(['apple', 'banana', 'pear'])
请注意,与字典不同,集合不含键值对。每个元素都是一个独立的对象。
可以使用 |
运算符或 union()
方法将两个集合合并为一个:
set1 = {'apple', 'banana', 'orange'}
set2 = {'banana', 'pear', 'apple'}
set3 = set1 | set2 # {'apple', 'banana', 'orange', 'pear'}
set4 = set1.union(set2) # {'apple', 'banana', 'orange', 'pear'}
可以使用 &
运算符或 intersection()
方法获取两个集合的交集:
set1 = {'apple', 'banana', 'orange'}
set2 = {'banana', 'pear', 'apple'}
set3 = set1 & set2 # {'apple', 'banana'}
set4 = set1.intersection(set2) # {'apple', 'banana'}
可以使用 -
运算符或 difference()
方法获取两个集合的差集:
set1 = {'apple', 'banana', 'orange'}
set2 = {'banana', 'pear', 'apple'}
set3 = set1 - set2 # {'orange'}
set4 = set1.difference(set2) # {'orange'}
可以使用 ^
运算符或 symmetric_difference()
方法获取两个集合的对称差集,即只存在于其中一个集合的元素:
set1 = {'apple', 'banana', 'orange'}
set2 = {'banana', 'pear', 'apple'}
set3 = set1 ^ set2 # {'orange', 'pear'}
set4 = set1.symmetric_difference(set2) # {'orange', 'pear'}
利用集合操作,我们可以快速处理字符串。例如,假设我们有两个字符串:
str1 = 'hello world'
str2 = 'world hello'
我们可以将它们转化为集合,然后使用集合操作获取它们的交集或并集:
set1 = set(str1.split())
set2 = set(str2.split())
common_words = set1 & set2
all_words = set1 | set2
其中,split()
方法会将字符串按空格分割为单词,然后使用 set()
函数将其转化为集合。我们可以使用 len()
函数获取集合中元素的数量,从而计算常见单词占比:
common_ratio = len(common_words) / len(all_words) # 0.5
利用集合操作,我们可以快速处理文本数据,并提取关键信息。