迭代两个列表进行过滤

Gan*_*aju 4 python list filter

我有 2 个列表,我正在尝试根据第一个列表中的条件过滤第二个列表。

list1 = [ {'type': 'A', 'name': '1'},{'type': 'B', 'name': '2'},{'type': 'A', 'name': '3'}]
list2 = [100, 200, 300]

filtered_list1 = list(filter(lambda x: (x['type'] == 'A'), list1))
filtered_list2 = list(filter(lambda x: ??????????????????, list2))

# expected output
# filtered_list1 = [ {'type': 'A', 'name': '1'},{'type': 'A', 'name': '3'}]
# filtered_list2 = [100, 300]
Run Code Online (Sandbox Code Playgroud)

我需要根据 list1 中的条件过滤 list2 中的元素。如何迭代两个列表?或者是否可以使用带有过滤器/lambda 的索引?

ale*_*xis 6

用于zip成对访问相应的列表元素。然后,您可以在条件列表理解中解压缩压缩对,然后就完成了:

filtered_list2 = [ y for (x, y) in zip(list1, list2) if x["type"] == "A" ]
Run Code Online (Sandbox Code Playgroud)