嵌套列表 - 创建以索引为项目的新嵌套列表

我想从现有的嵌套列表创建一个新的嵌套列表。这个新列表应该包括现有列表中的索引+1。

例子:

my_list = [[20, 45, 80],[56, 29],[76],[38,156,11,387]]

结果:

my_new_list = [[1,2,3],[1,2],[1],[1,2,3,4]]

如何创建这样的列表?


桃花长相依
浏览 187回答 3
3回答

紫衣仙女

保存一个 python 循环,range在列表推导中强制迭代(python 3 需要),所以它比经典的双嵌套推导要快:my_list = [[20, 45, 80],[56, 29],[76],[38,156,11,387]] index_list = [list(range(1,len(x)+1)) for x in my_list]

慕容3067478

有几种方法可以做到这一点,但首先想到的是1在嵌套列表理解中枚举具有起始索引的元素。>>> [[index for index, value in enumerate(sub, 1)] for sub in my_list] [[1, 2, 3], [1, 2], [1], [1, 2, 3, 4]]

ibeautiful

另一种解决方案可能是:new_list = [list(range(1,len(item)+1)) for item in my_list]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python