我想从现有的嵌套列表创建一个新的嵌套列表。这个新列表应该包括现有列表中的索引+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]]如何创建这样的列表?
3 回答
紫衣仙女
TA贡献1839条经验 获得超15个赞
保存一个 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
TA贡献1773条经验 获得超3个赞
有几种方法可以做到这一点,但首先想到的是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
TA贡献1993条经验 获得超5个赞
另一种解决方案可能是:
new_list = [list(range(1,len(item)+1)) for item in my_list]
添加回答
举报
0/150
提交
取消