我需要从给定的列表中选择一些元素,知道它们的索引。假设我想创建一个新列表,其中包含给定列表 [-2、1、5、3、8、5、6] 中索引为 1、2、5 的元素。我所做的是:
a = [-2,1,5,3,8,5,6]
b = [1,2,5]
c = [ a[i] for i in b]
有没有更好的方法呢?像 c = a[b] 这样的东西?
原文由 hoang tran 发布,翻译遵循 CC BY-SA 4.0 许可协议
我需要从给定的列表中选择一些元素,知道它们的索引。假设我想创建一个新列表,其中包含给定列表 [-2、1、5、3、8、5、6] 中索引为 1、2、5 的元素。我所做的是:
a = [-2,1,5,3,8,5,6]
b = [1,2,5]
c = [ a[i] for i in b]
有没有更好的方法呢?像 c = a[b] 这样的东西?
原文由 hoang tran 发布,翻译遵循 CC BY-SA 4.0 许可协议
4 回答4.4k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
1 回答3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
1 回答4.5k 阅读✓ 已解决
1 回答3.8k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
您可以使用
operator.itemgetter
:或者你可以使用 numpy :
但实际上,您当前的解决方案很好。它可能是所有这些中最整洁的。