【发布时间】:2013-09-12 09:16:30
【问题描述】:
我想根据存储顺序的另一个列表(myorderList)订购myList。例如,myorderList=[3,1,2] 表示myList 的第一个元素映射为“二”,因为myorderList 中最小的数字是1,然后是“一”,最后一个元素映射为“零”按照myorderList的顺序。
我已经这样做了,但我觉得这不是映射myList 的顺序的好方法。我正在寻找一种更好的方法来做到这一点。
myorderList=[]
myneworderedList=[]
myList=["zero","two","one"]
myorderList=[3,1,2]
for i in range(len(myList)):# just to eliminate index out of range error
myneworderedList.append(i)
for index,item in enumerate(myorderList):
myneworderedList[int(item)-1]=myList[index]
print myneworderedList
结果:
['two', 'one', 'zero']
【问题讨论】:
-
列表
myorderList是否总是一个连续索引的列表,或者它也可能是类似[13, 7, 42]的东西? -
不一定,可能是你说的列表。
标签: python