Intertwine列表没有.zip导入

时间:2013-11-12 00:16:56

标签: python-3.x

我正在尝试链接两个这样的列表:

a = [10,20,30] b = [2,4,6]

- > [(10,2),(20,4),(30,6)]

然后,但在实现此代码之后:

>>def zipped(a,b):
    >> for m in range(len(a)):
         >> for n in range(len(b)):
                >> return [(a[m],b[n])]

我只能得到这个:

>>  [(10,2)]

我如何获得其他值?

1 个答案:

答案 0 :(得分:2)

由于你有嵌套循环,它们会构建两个列表的产品,但是由于你在第一次迭代时返回,你只得到第一对。你想要的是:

def zip(fun, car):
    zipped = []
    for i in range(min((len(fun), len(car)))):
        zipped.append((fun[i], car[i]))
    return zipped

或者,具有列表推导的较短版本:

def zip(fun, car):
    return [(fun[i], car[i]) for i in range(min((len(fun), len(car))))]