我有两个列表,我需要得到匹配的项目集。在
list1 = [1,2,3]
list2 = [1,2,3,4]
a = [(x, y) for x in list1 if x in [y for y in list2]]
它正确地得到X,但正如预期的那样,它只给出嵌套列表(y)中的第一个项,而不是匹配的项。在
什么是最简单的方法使这个工作,并得到匹配的X和Y?有没有办法避免使用regex?在
更新:为了更清楚地说明,以上只是示例-实际代码是:
^{pr2}$新的_id和get_existing_KeyO是两个不同型号的项目列表:
get_existing_KeyO = list(KeyO.objects.filter(
keyword__in=[x['keyword'] for x in related_data]).all())
如果要在两个列表之间获取公共元素,可以使用集合来执行此操作:
但请记住,这将只返回到公共元素(没有重复元素),例如:
^{pr2}$如果你想要列表理解,你也可以这样做:
在这里,列表理解将被
list1
的长度耗尽,因此如果您有:您将无法获得最后的元素
7,7,7
,因为搜索已被list1
的长度耗尽(限制),但是如果您以这种方式反转它:在这里,所有元素(公共元素和重复元素)都被捕获。在
相关问题 更多 >
编程相关推荐