Python|连续字符串比较
有时,在处理数据时,我们可能会遇到一个问题,我们需要在一个字符串和它的列表中的下一个元素之间进行比较,并返回下一个元素是相似列表的所有字符串。让我们讨论可以执行此任务的某些方式。
方法 #1:使用zip()
+ 循环
这是可以执行此任务的一种方式。在这里,我们使用 zip() 来组合元素和它的下一个元素,然后比较真相并将其保存在列表中。
# Python3 code to demonstrate working of
# Consecutive String Comparison
# using zip() + loop
# initialize list
test_list = ['gfg', 'gfg', 'is', 'best', 'best', 'for', 'geeks', 'geeks']
# printing original list
print("The original list : " + str(test_list))
# Consecutive String Comparison
# using zip() + loop
res = []
for i, j in zip(test_list, test_list[1: ]):
if i == j:
res.append(i)
# printing result
print("List of Consecutive similar elements : " + str(res))
输出 :
The original list : ['gfg', 'gfg', 'is', 'best', 'best', 'for', 'geeks', 'geeks']
List of Consecutive similar elements : ['gfg', 'best', 'geeks']
方法 #2:使用列表理解 + zip()
也可以使用上述功能执行此任务。在此,我们使用单线方法使用列表理解来解决此问题。方法与上述类似。
# Python3 code to demonstrate working of
# Consecutive String Comparison
# using zip() + list comprehension
# initialize list
test_list = ['gfg', 'gfg', 'is', 'best', 'best', 'for', 'geeks', 'geeks']
# printing original list
print("The original list : " + str(test_list))
# Consecutive String Comparison
# using zip() + list comprehension
res = [i for (i, j) in zip(test_list, test_list[1:]) if i == j]
# printing result
print("List of Consecutive similar elements : " + str(res))
输出 :
The original list : ['gfg', 'gfg', 'is', 'best', 'best', 'for', 'geeks', 'geeks']
List of Consecutive similar elements : ['gfg', 'best', 'geeks']