Python – 字符串不常见字符
字符串操作之一可以是计算两个字符串的不常见字符,即输出两个字符串中出现的不常见值。本文通过不同的方式处理相同的计算。
方法 1:使用set() + symmetric_difference()
Python中的集合通常可以执行集合操作的任务,例如集合对称差分。这个集合实用程序也可用于执行此任务。首先,使用 set() 将两个字符串转换为集合,然后使用 symmetric_difference() 执行对称差分。返回排序后的集合。
# Python 3 code to demonstrate
# String uncommon characters
# using set() + symmetric_difference()
# initializing strings
test_str1 = 'GeeksforGeeks'
test_str2 = 'Codefreaks'
# Printing initial strings
print ("The original string 1 is : " + test_str1)
print ("The original string 2 is : " + test_str2)
# String uncommon characters
# using set() + symmetric_difference()
res = set(test_str1).symmetric_difference(test_str2)
# printing symmetric_difference
print ("The string uncommon elements are : " + str(res))
输出 :
The original string 1 is : GeeksforGeeks
The original string 2 is : Codefreaks
The string uncommon elements are : {'C', 'd', 'a', 'G'}
方法 2:使用join()
join() 在列表的情况下执行类似于列表理解的任务。这封装了整个 symmetric_difference 逻辑,并将通过 symmetric_difference 逻辑过滤的每个元素连接到一个字符串中,从而计算 symmetric_difference。它将字符串转换为集合,然后对它们进行计算 ^ 操作。
# Python 3 code to demonstrate
# String uncommon characters
# using join()
# initializing strings
test_str1 = 'GeeksforGeeks'
test_str2 = 'Codefreaks'
# Printing initial strings
print ("The original string 1 is : " + test_str1)
print ("The original string 2 is : " + test_str2)
# using join() to
# String uncommon characters
res = ''.join(sorted(set(test_str1) ^ set(test_str2)))
# printing symmetric_difference
print ("The string uncommon elements are : " + str(res))
输出 :
The original string 1 is : GeeksforGeeks
The original string 2 is : Codefreaks
The string uncommon elements are : CGad