使用 args 查找元组列表

我试图使用 *args 返回元组列表,而不使用该zip函数。这是我到目前为止所拥有的。我对如何在代码中使用 args 有点困惑。我应该成为子列表吗?

def merge_wrap_n(*args):
    sub_size = max(map(len, args))
    tupleList = [] 
       for i in range(sub_size): 
        tupleList.append((args[i%len(args)])) 
    return tupleList

测试:

merge_wrap_n([1, 2], [3], [4, 5, 6]) == [(1, 3, 4), (2, 3, 5), (1, 3, 6)]


慕森卡
浏览 103回答 1
1回答

蓝山帝景

IIUC,您需要两个循环,一个是您拥有的from 0to ,另一个是嵌套循环来循环 args 中的每个元素(用作下面的列表理解):sub_size-1def merge_wrap_n(*args):    sub_size = max(map(len, args))    tupleList = []    for i in range(sub_size):        tup = tuple([sub_lst[i%len(sub_lst)] for sub_lst in args])        tupleList.append(tup)    return tupleList>>> merge_wrap_n([1, 2], [3], [4, 5, 6])[(1, 3, 4), (2, 3, 5), (1, 3, 6)]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python