如何通过比较下面显示的情况的元素的两个列表字符串来创建新列表?



我有两个列表 -

List1 = [abcde,fghij,klmno,pqrst,uvwxy]
List2 = [cde,ghij,no,pqr]

我想要的输出:List3 = [pqrst,uvwxy]

如您所见,List2 的元素是 List1 的某些元素的子字符串。但是子字符串应与从右侧开始的字符匹配。例如,虽然 List2 的 'pqr' 是 List1 的元素 'pqrst' 的子字符串,但 pqrst 有一个尾随字符 't',所以我想把它放到另一个列表中。我想比较两个列表并得到一个新的列表,比如 List3 包含 = [pqrst,uvwxy]。

使用python的最佳方法是什么。

在这种情况下,您可以使用endswith和简单的循环。

list1 = ['abcde','fghij','klmno','pqrst','uvwxy']
list2 = ['cde','ghij','no','pqr']
list3 = []
for i in list1:
bool1 = 0
for j in list2:
if i.endswith(j): bool1 = 1
if not bool1: list3.append(i)
print(list3)    # output:  ['pqrst', 'uvwxy']

最新更新