我有一个列表列表和值x
。如果x
在任何内部列表中,我希望在该特定列表中获取另一个值。
例如:
mainlist = [[a,b],[c,d],[a,d]]
val = a
for lst in mainlist:
if val in lst:
# I want b and d
答案 0 :(得分:3)
使用列表理解,您可以执行以下操作:
[[e for e in s if e != val] for s in mainlist if val in s]
# [['b'], ['d']]
或使用嵌套for循环:
result = []
for s in mainlist:
if val in s:
for e in s:
if e != val:
result.append(e)
result
# ['b', 'd']
答案 1 :(得分:0)
使用非常棒的列表理解:
search_val = a
values = [other for inner_list in mainlist for other in inner_list if a in inner_list if other != a]