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

编程技术问询:如何根据指定索引提取列表元素并添加至另一列表?

解决从列表按指定索引提取元素的问题

嘿,这事儿简单得很!我给你分享几种实用的方法,轻松把列表a里对应索引的元素捞出来放到c里:

方法1:直观的循环遍历

这是最容易理解的写法,适合刚接触Python的朋友:

a = ['dog','cat','house','car']
b = [0,2]
c = []

# 遍历索引列表b,逐个提取元素添加到c
for idx in b:
    c.append(a[idx])

print(c)  # 输出: ['dog', 'house']

方法2:简洁的列表推导式

Python里的列表推导式能一行搞定,代码更紧凑:

a = ['dog','cat','house','car']
b = [0,2]

# 一行生成目标列表c
c = [a[idx] for idx in b]

print(c)  # 输出: ['dog', 'house']

方法3:高效的itemgetter(适合大量索引的场景)

如果你的索引列表b很长,用operator.itemgetter会更高效,一次性获取所有目标元素:

from operator import itemgetter

a = ['dog','cat','house','car']
b = [0,2]

# 一次性获取多个索引对应的元素,转成列表
c = list(itemgetter(*b)(a))

print(c)  # 输出: ['dog', 'house']

额外提醒:处理非法索引

要是b里的索引可能超出a的范围,记得加个判断避免报错:

a = ['dog','cat','house','car']
b = [0,2,5]
c = []

for idx in b:
    # 先检查索引是否在合法范围内
    if 0 <= idx < len(a):
        c.append(a[idx])
    else:
        print(f"警告:索引{idx}超出列表a的范围,已跳过")

print(c)  # 输出: ['dog', 'house']

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 04:11:22