【发布时间】:2019-08-22 11:08:56
【问题描述】:
我只想用输入文件中的一些值对这些字典进行排序。
def sortdicts():
listofs=[]
listofs=splitndict()
print sorted(listofs)
splitndict() 函数具有以下输出:
[{'a': 1, 'b': 2}, {'c': 2, 'd': 4}, {'a': 7, 'c': 3}, {'y': 5, 'x': 0}]
虽然输入来自另一个文件,但它是:
a 1
b 2
c 2
d 4
a 7
c 3
x 0
y 5
我用这个来拆分字典:
def splitndict():
listofd=[]
variablesRead=readfromfile()
splitted=[i.split() for i in variablesRead]
d={}
for lines in splitted:
if lines:
d[lines[0]]=int(lines[1])
elif d=={}:
pass
else:
listofd.append(d)
d={}
print listofd
return listofd
输出文件应如下所示:
[{'y': 5, 'x': 0}, {'a': 1, 'b': 2}, {'c': 2, 'd': 4}, {'a': 7, 'c': 3}
这个输出是因为: 它需要按每个字典键中的最小值排序。
【问题讨论】:
标签: python list sorting dictionary split