在python中对列表重新排序
在这里,我需要比较list1项目和list2项目,如果项目遗漏了,那么我希望在list1的遗漏项目索引处插入在python中对列表重新排序,python,list,match,Python,List,Match,在这里,我需要比较list1项目和list2项目,如果项目遗漏了,那么我希望在list1的遗漏项目索引处插入False 我的意见是 list1 = [1,2,3,4] list2 = [3,1,4] 例外输出为 result = [1, False, 3, 4] 我试过这个: result = [] for x in list1: for i in xrange(0,len(list2)): if set(x) == set(list2[i]):
False
我的意见是
list1 = [1,2,3,4]
list2 = [3,1,4]
例外输出为
result = [1, False, 3, 4]
我试过这个:
result = []
for x in list1:
for i in xrange(0,len(list2)):
if set(x) == set(list2[i]):
result.append(x)
使用:
如果您不熟悉列表理解
,可以使用循环解决方案:
result = []
for x in list1:
if x in list2:
result.append(x)
else:
result.append(False)
print(result)
[1, False, 3, 4]
在中使用非常简单:
这样做的目的是获取
list1
列表中的每个元素,并检查它是否位于第二个列表list2
中。如果是这样,返回项目<代码> i>代码>本身,如果不返回,代码> false .< /P>如果列表有重复的话怎么办?请不要对您的问题进行实质性的更改,使其现有的答案无效。请考虑创建一个新问题。在你的新问题中,你需要解释你的输入列表之间的关系,因为目前还不清楚为什么你会期望输出。你已经编辑了这个问题。list2
中的[1,2]
如何?或[2,3]
或其中任何一项。我想你需要解释一下它是如何工作的,例如,列表是否需要展平、排序等等?Dinesh,请停止对这个问题进行重大编辑。如果你问了一个完全错误的问题或者需要问一个新问题,请使用页面顶部的“提问”按钮。如果有助于提供上下文,您可以链接到此问题。
result = []
for x in list1:
if x in list2:
result.append(x)
else:
result.append(False)
print(result)
[1, False, 3, 4]
>>> list1 = [1, 2, 3, 4]
>>> list2 = [3, 1, 4]
>>> res = [i if i in list2 else False for i in list1]
>>> print(res)
[1, False, 3, 4]