📜  Python|连续字符串比较

📅  最后修改于: 2022-05-13 01:55:16.003000             🧑  作者: Mango

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']