我有两个列表 -
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']