首页 > 解决方案 > 如何比较Python中的列表元素

问题描述

这里我有两个列表:

list1 = ['2C535EB58F19B58' , '7B89D9071EB531B143594FF909BAC846' , '0509']

list2 = ['1641AB0C9C5B8867' , '0098968C' , '509']

我需要将 list2 中的元素与 list1 元素进行比较。

我希望输出是,比较后:

509

因为 0509 中存在 509。

我怎样才能做到这一点?正则表达式可以帮助我吗?

标签: pythonlist

解决方案


正如 BearBrown 在评论中已经提出的那样,有一种简单的方法可以实现您的目标。完全没有理由考虑正则表达式(in-operator 足够强大)。

[x for x in list2 if any(y for y in list1 if x in y)]

在这里,您正在查找xlist2 中的每个字符串,如果它是 list1 中任何字符串的子字符串y,最后将每个匹配的子字符串保存x在一个新列表中。


推荐阅读