擅长:python、mysql、java
<p>@mgilson对解决方案的一种改编,它将类型的原始顺序保持为有序键。在</p>
<pre><code>>>> from collections import OrderedDict
>>> def type_split(seq):
d = OrderedDict()
for i, x in enumerate(seq):
d.setdefault(type(x), [None] * len(seq))[i] = x
return d.values()
>>> type_split(['a',1,'b',2,3,'c'])
[['a', None, 'b', None, None, 'c'], [None, 1, None, 2, 3, None]]
>>> type_split([{"A":1},1,{"B":2},{"C":3},"a"])
[[{'A': 1}, None, {'B': 2}, {'C': 3}, None], [None, 1, None, None, None], [None, None, None, None, 'a']]
</code></pre>