3 回答

TA貢獻1848條經(jīng)驗 獲得超10個贊
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貢獻1735條經(jīng)驗 獲得超5個贊
1 2 3 4 5 6 7 | #用enumerate函數(shù),最好不要用index ,因為列表有相同的元素的時候,index就傻冒了 for i,j in enumerate(('a','b','c')): print i,j
0 a 1 b 2 c |

TA貢獻2080條經(jīng)驗 獲得超4個贊
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]) |
添加回答
舉報