首页 > 解决方案 > 使用 For 循环实现 Zip(*iterables)

问题描述

我正在尝试zip(*iterables)使用 for 循环来实现该功能,但我无法做到。如您所知, zip 函数获取传递给它的每个列表的第一个元素,将其放入一个元组中,然后对列表中元素的第二个列表执行相同的操作......等等。就我而言,我只能使用第一个元素来做到这一点。

据我所知:

def inputlist(input_list):
    returned_list = []
    for i in input_list:
        for j in range(len(i)):
            returned_list.append(i[j])
            break

    return returned_list

仅供参考:这纯粹是出于学术目的,我们这样做只是为了好玩。

例如,这是我传递的列表:[[2,3,4], [5,6,7], [8,9,10]]

标签: pythonzip

解决方案


我不太确定你想如何压缩你的列表。所以你有一个列表并且想要总是压缩该列表中的两个连续项目?因为您的函数只需要一个列表作为输入。

通常,对于组合两个列表,您可以尝试以下操作:

def listzip(list1, list2):
    return zip(list1,list2)

这将构造一个 zip 对象,其中包含来自原始两个列表的压缩对。


推荐阅读