我有两个值列表
lst_a = [701221,310522,5272,8868,1168478,874766]
nested_lst_b = [[701221,310522,765272,12343],[8868,1168478,98023],[83645,5272],[63572,88765,22786]]
我想检查是否每个值lst_a
都在nested_lst_b
并返回匹配的值
预期产出:
output = [[701221,310522],[8868,1168478],[5272],[]]
我在下面编写了代码,但没有达到我的期望...
for x,y in zip(lst_a,nested_lst_b):
if x in y:
print(x,y)
>>>701221 [701221, 310522, 765272, 12343]
>>>5272 [83645, 5272]
谁能帮我解决这个问题?非常感谢
这是一种基于您的最初尝试的简单方法:
lst_a = [701221,310522,5272,8868,1168478,874766]
nested_lst_b = [[701221,310522,765272,12343],[8868,1168478,98023],[83645,5272],[63572,88765,22786]]
a_in_b = []
for sub_lst_b in nested_lst_b:
a_in_sub = []
for el_a in lst_a:
if el_a in sub_lst_b:
a_in_sub.append(el_a)
a_in_b.append(a_in_sub)
print(a_in_b)
在这里,您遍历的每个子列表,nested_lst_b
并检查其中的任何元素lst_a
是否在该子列表中。它遵循您的输出要求(对应于的嵌套列表)nested_lst_b
。
否则,例如可以使用集解决此类问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句