提取元组并使用 int 迭代覆盖



>我有这个列表

list = [ [(6, 8, 9), 111], [(15,), 22], [(11, 20), 80] ]

我想提取元组并用 0、1、2 覆盖它们......这样我就可以得到:

new_list = [[0, 1, 2], [3], [4, 5]]
         # 6,8,9 was overwritten with 0, 1, 2
         # 15    was overwritten with         3 
         # 11,20 was overwritten with           4, 5
         # ... 

我不需要像 111、22 和 80 这样的列表[1] 元素。

有没有一种简单的方法可以做到这一点,我试图遍历它,但在正确的迭代中遇到了问题。

>>> from itertools import count
>>> lis = [ [(6, 8, 9), 111], [(15, ), 22], [(11, 20), 80] ]
>>> c = count(0)
#If you want a list of list then use: [[next(c) for _ in x[0]] for x in lis] 
>>> [tuple(next(c) for _ in x[0]) for x in lis]
[(0, 1, 2), (3,), (4, 5)]

最新更新