Python 重新排列列表以匹配另一个
假设我有一个数组,如:Python 重新排列列表以匹配另一个,python,list,Python,List,假设我有一个数组,如: [[1356, a], [478, b], [60, c], [61, d]] 是否可以将其重新排序以与阵列匹配: [d, b, a, c] 比如: 我想要的顺序在csv文件的第二列中。因此,我: with open('data.csv', "r") as csvfile: order = csv.reader(csvfile, delimiter = ',') code_order=[] for row in order:
[[1356, a], [478, b], [60, c], [61, d]]
是否可以将其重新排序以与阵列匹配:
[d, b, a, c]
比如:
我想要的顺序在csv文件的第二列中。因此,我:
with open('data.csv', "r") as csvfile:
order = csv.reader(csvfile, delimiter = ',')
code_order=[]
for row in order:
code_order.append(row[2])
reordered_output=[]
for i,x in enumerate(code_order):
where x[i] in result
reordered_ouput[i] = result
print(reordered_output)
其中一种方法可以与
键一起使用
>>> a = [[1356, 'a'], [478, 'b'], [60, 'c'], [61, 'd']]
>>> b = ['d', 'b', 'a', 'c']
>>> sorted(a, key = lambda x : b.index(x[1]))
[[61, 'd'], [478, 'b'], [1356, 'a'], [60, 'c']]
其中一种方法可以与
键一起使用
>>> a = [[1356, 'a'], [478, 'b'], [60, 'c'], [61, 'd']]
>>> b = ['d', 'b', 'a', 'c']
>>> sorted(a, key = lambda x : b.index(x[1]))
[[61, 'd'], [478, 'b'], [1356, 'a'], [60, 'c']]
如果你觉得答案已经回答了你的问题,就一定要接受。如果你觉得答案已经回答了你的问题,就一定要接受答案。