python如何将列表作为列表的索引

比如a=[1,2,3,4,5,6,7,8,9,10]b=[3,7,9]b作为一个列表怎么作为索引使用?比如a[b]是会错误的,获取a中,索引号在b里边的值。我想获得的结果... 比如 a=[1,2,3,4,5,6,7,8,9,10]
b=[3,7,9]
b 作为一个列表怎么作为索引使用?
比如 a[b] 是会错误的,获取a中,索引号在b里边的值。
我想获得的结果是
可以快速计算出 a[b]=[4,8,10]。的方法,不知道python怎么实现,切片不是连贯的,是非常无规律的。
展开
 我来答
我心我在
推荐于2017-11-21 · TA获得超过2157个赞
知道小有建树答主
回答量:784
采纳率:77%
帮助的人:628万
展开全部
1.
a=['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n']
b=[1,4,3,6,10]
c = type(a)(map(lambda i:a[i], b)) #这里没有判断 b的元素作为a的索引的时候 值太大 溢出的异常
print c
>>> 
['b', 'e', 'd', 'g', 'k']
>>> 

------------------------------

2.
>>> import numpy as np
>>> b = np.array([2,3,4,5,6])
>>> a = np.array([0,2,4])
>>> b[a]
array([2, 4, 6])
y203344
2015-11-18 · TA获得超过989个赞
知道小有建树答主
回答量:755
采纳率:66%
帮助的人:482万
展开全部
a[b[0]]这是以b列表的元素为索引,取a列表中的值
a.index(b[0])这是从a列表中取出关于b列表中的元素的位置(索引)
追问
我不是这个意思,如果取单个元素 a[b[0]]当然满足,要从a中取以b的值为a的索引号的a中所有值构成一个新的list。类似matlab 的 
a=[1,2,3,4,5,6,7,8,9,10],
b=[3,7,9]
a[b]就会变成[4,8,10],十分简练,速度也十分快,如果是for,我也知道怎么用,不过速度肯定会很低。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式