You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Pythonic方式从另一列表的索引创建新列表?

解决方法:从列表索引生成排除首项的新列表

嘿,我来帮你搞定这个问题!你已经找对方向啦,enumerate()确实能帮你遍历列表的索引和对应值,不过针对你的场景,还有更直接的方式,我给你两种实现思路:

方法1:结合enumerate()和列表推导式

既然你提到了enumerate(),那咱们就先用它来实现。enumerate()会返回每个元素的**(索引, 值)**元组,我们只需要过滤掉索引为0的项,把剩下的索引收集起来就行:

list_1 = [11,10,7,0,3,5,8,1,4,6,9,2]
new_list = [idx for idx, val in enumerate(list_1) if idx != 0]
print(new_list)  # 输出: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]

这里用列表推导式快速筛选,逻辑清晰,也符合你对enumerate()的使用需求。

方法2:直接用range()生成索引范围

其实你的需求本质上是生成从1到列表最后一个索引的连续整数,所以可以直接用range()来构造,这种方式更高效,不需要遍历原列表的元素:

list_1 = [11,10,7,0,3,5,8,1,4,6,9,2]
new_list = list(range(1, len(list_1)))
print(new_list)  # 输出同样是: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]

因为len(list_1)是12,range(1, 12)会生成1到11的整数,转成列表就是你要的结果。

两种方法都能达到目的,如果你只是需要索引,方法2更简洁;如果后续还要用到原列表的元素,方法1的扩展性更强哦!

内容的提问来源于stack exchange,提问作者user7491985

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 04:08:26