擅长:python、mysql、java
<p>我想你有几排要重新安排,而不是一排。在</p>
<p>这里有一个只执行列转换一次的解决方案,
没有为要排序的每一行(元组)构建映射。毕竟,目的地还是一样的。在</p>
<p>它标记头的原始位置,然后从这些位置构建重新排列的元组</p>
<pre><code>leaf_lst = [(4,5,3,1,2), (1,2,3,4,5), (6,7,8,9,0)]
rowHeaders = ['lorem','ipsum','dolor','sit','amet']
rowHeaders_custom = ['amet','lorem','sit','ipsum','dolor']
old_pos = tuple(rowHeaders.index(h) for h in rowHeaders_custom)
leaf_lst_custom = [tuple(t[p] for p in old_pos) for t in leaf_lst]
print(leaf_lst_custom)
</code></pre>
<p>生产</p>
^{pr2}$