为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

桃花长相依 2021-06-27 08:07:54
我想从现有的嵌套列表创建一个新的嵌套列表。这个新列表应该包括现有列表中的索引+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]


查看完整回答
反对 回复 2021-07-13
?
慕容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]]


查看完整回答
反对 回复 2021-07-13
?
ibeautiful

TA贡献1993条经验 获得超5个赞

另一种解决方案可能是:

new_list = [list(range(1,len(item)+1)) for item in my_list]


查看完整回答
反对 回复 2021-07-13
  • 3 回答
  • 0 关注
  • 184 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信