需要从列表中的列表中获取特定值

时间:2017-06-30 02:24:25

标签: python list

我有一个列表列表和值x。如果x在任何内部列表中,我希望在该特定列表中获取另一个值。

例如:

mainlist  = [[a,b],[c,d],[a,d]]  
val = a  

for lst in mainlist:
    if val in lst:
        # I want b and d

2 个答案:

答案 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]