我想按从高到低的顺序对字典进行排序。字典是这样的:
{'data1': {'/home/data1': 273}, 'data2': {'/home/data2': 2}, 'data3': {'/home/data3': 10}, 'data4': {'/home/data4': 1}}
我得到了一些可以在一个VM上运行的代码,但是当我尝试在另一个VM上运行却不起作用。
dict = sorted(dicta.items(), key=lambda x: [int(x) for x in x[1].values()], reverse = True)
在一个VM中,我遇到了这个错误,而在另一个VM中,它却起作用了(使用virtualenv使用相同的python版本执行相同的脚本等)
TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType'
有什么想法吗?
答案 0 :(得分:1)
如果运行代码,应该没有错误。但是您没有字典的名称。
dict_ = {'data1': {'/home/data1': 273}, 'data2': {'/home/data2': 2}, 'data3': {'/home/data3': 10}, 'data4': {'/home/data4': 1}}
dictSorted = sorted(dict_.items(), key=lambda x: [int(x) for x in x[1].values()], reverse = True)