如何修改列表元素列表python

问题描述 投票:1回答:2

我有一个列表列表

 check = [['KH8X070.jpeg', 'ZDO9A8O.jpeg', 'ZW25RD8.jpeg', '6ZLXW92.jpeg', 'HVLA5UT.jpeg', 'A4UDC12.jpeg', '2X5KO9A.jpeg', '5HZR4VV.jpeg', '24FWS4S.jpeg'], ['Z2QC6PW.jpeg', 'EHMK14E.jpeg', 'RTV0PRH.jpeg', '71S643D.jpeg', 'KECHDQ9.jpeg', 'RU6PYPB.jpeg'], ['UG9Z4SQ.jpeg', 'H0Y3SYV.jpeg', '61HCFOK.jpeg', '14KE527.jpeg', 'XMSM050.jpeg', '5KFI2V3.jpeg', 'QSJMKUB.jpeg', 'S6TX0ZM.jpeg', '8JV3K1Y.jpeg', 'XI9OOI7.jpeg', 'JMWDOPM.jpeg'], ['0SAXG3I.jpeg', 'LA5HJNO.jpeg', 'PHHAUSA.jpeg', '900Z7S7.jpeg']]

这样,我有:

 check = [[0,0,0,0,0,0,0,0,0],[1,1,1,1,1,1], [2,2,2,2,2,2,2,2,2,2,2], [3,3,3,3]]

我想对其进行修改,以便在列表列表的索引列表0中,我将拥有0的全部,在索引1中,我将拥有1的全部,在索引2中,我将拥有2的全部,依此类推。像那样。

for i, j in enumerate(check):
  checks = [...]

我知道这里应该是列表理解,但不仅知道如何去做。这就是为什么我来这里寻求帮助。

python list list-comprehension
2个回答
0
投票

这是我的单线代码:

>>> [map(lambda val : i, arr) for i,arr in enumerate(check)]

0
投票

以上内容无法完全满足您所需的结果。但是你可以做的是

arr = []
for i, j in enumerate(check):
    length = j
    arr.append([i]*length)

这应该工作完美,我尝试了一下,效果很好。让我知道它如何为您服务。

© www.soinside.com 2019 - 2024. All rights reserved.