如何在列表中压缩列表
我想压缩以下列表清单:
>>> zip([[1,2], [3,4], [5,6]]) [[1,3,5], [2,4,6]]
只有当列表被拆分成单独的组件时,才能通过当前的zip
实现来实现:
>>> zip([1,2], [3,4], [5,6]) (1, 3, 5), (2, 4, 6)]
无法弄清楚如何拆分列表并将各个元素传递给zip
。 function性解决scheme是首选。
尝试这个:
>>> zip(*[[1,2], [3,4], [5,6]]) [(1, 3, 5), (2, 4, 6)]
请参阅解包参数列表 :
当参数已经在列表或元组中时,会出现相反的情况,但需要对需要单独的位置参数的函数调用进行解压缩。 例如,内置的range()函数需要单独的启动和停止参数。 如果它们不能单独使用,请使用* -operator编写函数调用以将参数从列表或元组中解开:
>>> range(3, 6) # normal call with separate arguments [3, 4, 5] >>> args = [3, 6] >>> range(*args) # call with arguments unpacked from a list [3, 4, 5]