3 回答
TA贡献1811条经验 获得超5个赞
1 2 3 4 5 6 7 8 9 10 11 | #你的问题描述不是很准确啊 In [1]: aList=[1,2,3,4] In [2]: n=2 In [3]: aList[n] #是想要这样使用一个变量做索引, Out[3]: 3 In [4]: s=slice(3) In [5]: aList[s] #或者是这样使用一个可以改变的切片(slice)? Out[5]: [1, 2, 3] In [6]: s=slice(2,3) #改变成不同长度切片(slice) In [7]: aList[s] Out[7]: [3] |
不过无论如何,索引总是是可以使用变量的。(防止误会:前面的In和Out是Ipython命令行输入输出提示。)
TA贡献1816条经验 获得超6个赞
1 2 3 4 5 6 7 | #用enumerate函数,最好不要用index ,因为列表有相同的元素的时候,index就傻冒了 for i,j in enumerate(('a','b','c')): print i,j
0 a 1 b 2 c |
TA贡献1921条经验 获得超9个赞
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | 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]) |
添加回答
举报