##input:
dict_a = {'blue': ['1','10'],
'yellow': ['1','23'],
'white': ['98'],
'brown': ['12'],
'green': ['45', '67']}
print(sorted(dict_a.items(), key=lambda item:item[0]))
##output:
[('blue', ['1', '10']),
('brown', ['12']),
('green', ['45', '67']),
('white', ['98']),
('yellow', ['1', '23'])]
但是我想输出的是:
{'blue': ['1','10'],
'brown': ['12'],
'green': ['45', '67'],
'white': ['98'],
'yellow': ['1','23']}
按字典中value的首字母排序(A-Z),怎么去掉中间的每一对的括号,和最外面的中括号变成大括号。
>>> dict_a = {'blue': ['1','10'],
'yellow': ['1','23'],
'white': ['98'],
'brown': ['12'],
'green': ['45', '67']}
>>> out = list()
>>> for key in sorted(dict_a.keys()):
out.append("'%s': %s"%(key, str(dict_a[key])))
>>> print('{%s}'%',\n'.join(out))
{'blue': ['1', '10'],
'brown': ['12'],
'green': ['45', '67'],
'white': ['98'],
'yellow': ['1', '23']}
试下这段代码, 有个小问题(列表变成长度一样了)
import pandas as pd
import numpy as np
dict_a = {'blue': ['1','10'],
'yellow': ['1','23'],
'white': ['98'],
'brown': ['12'],
'green': ['45', '67']}
data = pd.DataFrame(dict([(k, pd.Series(v)) for k, v in dict_a.items()]))
dict_re = data.sort_index(axis=1).to_dict('list')
print(dict_re)
print(dict_re)
{'blue': ['1', '10'],
'brown': ['12', nan],
'green': ['45', '67'],
'white': ['98', nan],
'yellow': ['1', '23']}