我使用两个标准对列表进行排序:
index_sort = {'r1':1, 'r2':2, 'T1':3, 'r3':4, 'T2':5, 'T3':6}
Eall_pairsorted = sorted(Eall_pairsorted, key = lambda e: (index_sort[e[0]], index_sort2[e[1]] ))
问题是我得到了:
['r1', 'r2', '++', '0.01 0.01', -56.19568267]
['r1', 'T1', '++', '0.01 0.017453292519943295', -56.19567285]
['r1', 'r3', '++', '0.01 0.01', -56.19568267]
['r1', 'T2', '++', '0.01 0.017453292519943295', -56.19567285]
['r1', 'T3', '++', '0.01 0.017453292519943295', -56.19568714]
['r2', 'T1', '++', '0.01 0.017453292519943295', -56.19567439]
['r2', 'r3', '++', '0.01 0.01', -56.19568267]
['r2', 'T2', '++', '0.01 0.017453292519943295', -56.1956784]
['r2', 'T3', '++', '0.01 0.017453292519943295', -56.19568357]
['T1', 'T2', '++', '0.017453292519943295 0.017453292519943295', -56.19566509]
['T1', 'T3', '++', '0.017453292519943295 0.017453292519943295', -56.19570279]
['r3', 'T1', '++', '0.01 0.017453292519943295', -56.1956784]
['r3', 'T2', '+-', '0.01 0.017453292519943295', -56.19567944]
['r3', 'T3', '++', '0.01 0.017453292519943295', -56.19568357]
['r3', 'T3', '--', '0.01 0.017453292519943295', -56.19568081]
['r3', 'T3', '+-', '0.01 0.017453292519943295', -56.19569063]
['r3', 'T3', '-+', '0.01 0.017453292519943295', -56.1956905]
['T2', 'T3', '++', '0.017453292519943295 0.017453292519943295', -56.19570279]
['T2', 'T3', '--', '0.017453292519943295 0.017453292519943295', -56.19570039]
['T2', 'T3', '+-', '0.017453292519943295 0.017453292519943295', -56.195661]
['T2', 'T3', '-+', '0.017453292519943295 0.017453292519943295', -56.19566132]
我想在一行中切换r3和T1:
['r3', 'T1', '++', '0.01 0.017453292519943295', -56.1956784]
要获得以下顺序:
['T1', 'r3', '++', '0.01 0.017453292519943295', -56.1956784]
我只想交换“T1”和“r3”,而不是整个列。你知道吗
有什么窍门吗?你知道吗
不能在排序的同时执行,但可以在排序之后执行以下操作:
测试:
在这种情况下,是否只想重新排列列表中的前两个元素?或者你想在这里应用哪条一般规则?我认为你应该澄清你的问题。如果只有一个具体的案例困扰着你,下面的方法就行了。你知道吗
列表理解:
没有列表理解:
相关问题 更多 >
编程相关推荐