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

如何用单行代码根据指定索引列表获取目标列表元素

解决方法:从list2中提取list1指定索引的元素

没问题,这事儿其实挺简单的,我直接给你正确的单行实现方式,再补个例子帮你理解:

方法1:基础列表推导式(最推荐)

这是最直观也最常用的写法,完全不需要lambda:

result = [list2[i] for i in list1]

举个实际例子:

list1 = [2, 0, 3]  # 要提取的索引
list2 = ["apple", "banana", "cherry", "date"]
result = [list2[i] for i in list1]
# 输出:['cherry', 'apple', 'date']

方法2:结合map和lambda的写法

如果你想用lambda的话,可以配合map函数,但记得要把map返回的迭代器转成列表:

result = list(map(lambda idx: list2[idx], list1))

用上面的例子测试,得到的结果和列表推导式完全一致。

注意事项

  • 要确保list1里的所有索引都是合法的——也就是不能超过list2的长度减1,不然会抛出IndexError哦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 08:01:00