我有一个字符串列表和一个排列。我正在尝试将排列应用于列表,但我正在尝试保持我的代码简洁明了。目前我有一个可行的解决方案,它看起来像这样:
mylist = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i']
permutation = [5,2,6,3,7,9,1,4,8]
mynewlist = ['']*9
for i in range(9):
mynewlist[permutation[i]-1] = mylist[i]
print mynewlist
我不喜欢它的是我必须先将列表初始化为一个空列表,然后以一种奇怪的方式循环它。我只是想知道是否有人可以想出一种更简洁的方式来写这个,也许使用列表理解?还是通过应用地图?
仅供参考 - 上述结果是:
['g', 'b', 'd', 'h', 'a', 'c', 'e', 'i', 'f']