【发布时间】:2017-03-05 03:00:22
【问题描述】:
我有两个长长的清单。我基本上想从这个列表中删除不匹配条件的元素。例如,
list_1=['a', 'b', 'c', 'd']
list_2=['1', 'e', '1', 'e']
列表一和二是相互对应的。现在我想从列表一中删除某些与我的条件不匹配的元素。我必须确保我从列表 2 中删除了相应的元素并且顺序不会混乱。
所以我创建了一个遍历列表 1 的 for 循环并存储所有必须删除的元素的索引。
假设:
index_list = ['1', '3']
基本上,我需要确保从列表 1 中删除 b 和 d,从列表 2 中删除 e 和 e。我该怎么做?
我试过了:
del (list_1 [i] for i in index_list)]
del (list_2 [i] for i in index_list)]
但我收到一个错误,即索引必须是一个列表,而不是列表。我也试过了:
list_1.remove[i]
list_2.remove[i]
但这也不起作用。我尝试创建另一个循环:
for e, in (list_1):
for i, in (index_list):
if e == i:
del list_1(i)
for j, in (list_2):
for i, in (index_list):
if j == i:
del list_2(i)
但这也不起作用。它给了我一个错误,即 e 和 j 不是全局名称。
【问题讨论】: