如何使用索引列表提取另一个列表中的对应值
提取列表中指定索引的元素
没问题,这在Python里有几种简单直接的实现方式,刚好匹配你的需求:
方法1:列表推导式(最简洁)
这是Python里处理这类需求的首选方式,一行代码就能搞定:
index_values = [3, 3, 6, 7] numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # 通过列表推导式提取对应元素 result = [numbers[i] for i in index_values] print(result) # 输出结果: [4, 4, 7, 8]
原理很简单:遍历index_values中的每一个索引值i,然后取出numbers列表中索引为i的元素,最后把这些元素组合成一个新的结果列表。
方法2:for循环逐个添加(适合理解过程)
如果想更直观地看到每一步的操作,可以用普通的for循环来实现:
index_values = [3, 3, 6, 7] numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] result = [] for i in index_values: # 逐个取出对应索引的元素并添加到结果列表 result.append(numbers[i]) print(result) # 输出结果同样是: [4, 4, 7, 8]
小提醒
要注意确保index_values里的所有索引都在numbers的有效索引范围内哦——比如你的numbers列表长度是10,有效索引是0到9,你给出的索引值都是符合要求的;如果出现比如10这种超出范围的索引,程序会抛出IndexError错误。
内容的提问来源于stack exchange,提问作者Fucius
相关产品推荐
相关产品推荐

