我試圖使用 *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)]
1 回答

藍山帝景
TA貢獻1843條經驗 獲得超7個贊
IIUC,您需要兩個循環,一個是您擁有的from 0to ,另一個是嵌套循環來循環 args 中的每個元素(用作下面的列表理解):sub_size-1
def 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)]
添加回答
舉報
0/150
提交
取消