我想從現有的嵌套列表創建一個新的嵌套列表。這個新列表應該包括現有列表中的索引+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條經驗 獲得超6個贊
另一種解決方案可能是:
new_list = [list(range(1,len(item)+1)) for item in my_list]
添加回答
舉報
0/150
提交
取消