[问题] 二维 list 排序

楼主: obelisk0114 (追风筝的孩子)   2015-12-21 23:50:46
假设我有一个二维 list
a = [[2,5,7,9],['g','b','a','d'],['一','二','三','武']
我想让 a 依据 ['g','b','a','d'] 的 unicode 来排序,
并同时跟着移动 [2,5,7,9] 和 ['一','二','三','武'] 的内部顺序
最后得到排序后的结果
sort_a = [[7,5,9,2],['a','b','d','g'],['三','二','武','一']]
要如何做 ?
因为二维 list 后面有记录一些讯息, 所以排序后希望保持顺序
作者: tiefblau (tiefblau)   2015-12-22 00:41:00
https://gist.github.com/yen-von/73f03b4b82c0d2dfe00b排序索引值 有兴趣可以研究一下sort里key的用法
作者: bibo9901 (function(){})()   2015-12-22 01:34:00
list(map(list,zip(*sorted(zip(*a),key=lambda x:x[1]))))
作者: Yshuan (倚絃)   2015-12-29 13:34:00
换个结构 dict of list, key是['a'..'g'],d['a']=[7,'三']
作者: kimutaka (保持对生命的热情)   2015-12-31 06:45:00
先感谢各位的分享, 但楼上Y大的说明还没看懂><

Links booklink

Contact Us: admin [ a t ] ucptt.com