0

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

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)]

我怎样才能得到其他值?

4

1 回答 1

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))))]
于 2013-11-12T00:23:10.657 回答