我有两个清单。我想从其中一个列表中给出的元素中选出第三个

时间:2015-02-26 00:58:33

标签: python list for-loop zip

对于令人困惑的标题感到抱歉!

我有两个清单,说:

a = [30,55,76,43,27,28]
b = [0,2,3,5]

我想制作一个list c,它既是a的元素,也就是

c = [30,76,43,28]  # -> the 0th, 2nd, 3rd, 5th elements of a

我应该使用zip() function吗?或者您可以使用简单的for loop

感谢。

1 个答案:

答案 0 :(得分:0)

您可以通过enumerate函数实现此目的。

>>> a = [30,55,76,43,27,28]
>>> b = [0,2,3,5]
>>> l = []
>>> for i,j in enumerate(a):
        for m in b:
            if i == m:
                l.append(j)


>>> l
[30, 76, 43, 28]

通过list_comprehension。

>>> a = [30,55,76,43,27,28]
>>> b = [0,2,3,5]
>>> [j for i,j in enumerate(a) for m in b if i == m ]
[30, 76, 43, 28]