Python|字符串中的连续元素交换
有时,在使用字符串时,我们可能会遇到一个问题,我们可能需要执行字符串中连续元素的交换。让我们讨论可以执行此任务的某些方式。
方法 #1:使用join() + zip()
+ 生成器表达式
上述功能的组合可以用来解决这个问题。在此,我们使用 zip() 执行连接连续字符的任务,生成器表达式用于提供交换逻辑。
# Python3 code to demonstrate working of
# Consecutive element swapping in String
# using join() + zip() + generator expression
# initializing string
test_str = "gfgisbesty"
# printing original string
print("The original string is : " + test_str)
# Consecutive element swapping in String
# using join() + zip() + generator expression
res = ''.join([char[1] + char[0] for char in zip(test_str[::2], test_str[1::2])])
# printing result
print("String after Consecutive Swapping : " + str(res))
输出 :
The original string is : gfgisbesty
String after Consecutive Swapping : fgigbsseyt
方法#2:使用正则表达式
也可以使用正则表达式和正确构建的正则表达式来执行此任务。
# Python3 code to demonstrate working of
# Consecutive element swapping in String
# using regular expression
import re
# initializing string
test_str = "gfgisbesty"
# printing original string
print("The original string is : " + test_str)
# Consecutive element swapping in String
# using regular expression
res = re.sub(r'(.)(.)', r'\2\1', test_str)
# printing result
print("String after Consecutive Swapping : " + str(res))
输出 :
The original string is : gfgisbesty
String after Consecutive Swapping : fgigbsseyt