2014-09-02 67 views
0

我有载体的与它里面的单词(可变)数量的列表,例如:如何指向Python中列表中的矢量位置?

myList = ['\xa0\xa1\xa2', '\xa3\xa4\xa5'] 

(具有两个3字矢量的列表) 有一种方法来直接在第二点第二个向量的位置? 我知道,试图这样做还不够:

myWord = myList[1[1]] 

我一定要采取两步走的方法?从列表中制作矢量的副本,然后直接使用它?

myVector = myList[1] 
myWord = myVector[1] 

谢谢你的帮忙。

回答

3
myList = ['\xa0\xa1\xa2', '\xa3\xa4\xa5'] 

myList[1][1] # this give you second position of second index 

和复制你可以导入copy模块!

import copy 

new_list=copy.copy(myList) 

你的方法(some_list[index[inner_index]])是有效的,但只有当index也可转位!例如:

some_list = [1,2,3,4,5,6] 
indices = [0,0,0,1,1,1,3,3,6,2,4] 
some_list[indices[3]] 
# => some_list[1] 
# => 2 

编辑: 从而在评论中说,你也可以使用new_list=myList[:]命令!在这种情况下更多pythonic

+0

你不需要复制,你可以这样做:'new_list = myList [:]' – acushner 2014-09-02 17:00:55

+0

是的,它的另一种方式!但我认为使用'copy'更加pythonic!你怎么看? – Kasramvd 2014-09-02 17:05:49

+1

我不同意,因为复制需要额外/否则不必要的导入。此外,在这种情况下,您实际上不需要副本,因为您不会以任何方式变更列表。 – acushner 2014-09-02 17:20:37

0

您不需要采取两步法。 正如@Kasra指出,可以通过引用该第二向量的第二位置:

myWord = myList[1][1] 

解释通过,myList[1]引用列表的第二元件(第二矢量),则下一[1]引用它的第二元件。