通过前两个字符将数组排序到表中

时间:2014-07-21 09:41:41

标签: python arrays sorting

好的,所以我有一个这样的数组:

['0157', 
'0234', 
'0467', 
'0164', 
'0363', 
'0341', 
'0179', 
...]

我需要将数组排序为表格(2D数组),如下所示:

0157|0234|0326|0467
0164|    |0341|
0179|    |    |

你能帮我吗?

1 个答案:

答案 0 :(得分:1)

试试此代码

import itertools
data = ['0157', '0234', '0467', '0164', '0363', '0341', '0179']
output = []
for key, group in itertools.groupby(sorted(data), lambda x: x[:2]):
    output.append(list(group))
print output

其中groupby通过前两个字符x[:2]创建组。

输出

[['0157', '0164', '0179'], ['0234'], ['0341', '0363'], ['0467']]

有关groupby的详情,请查看the documentation