我需要按值的顺序对字典进行排序并返回它

时间:2016-06-02 14:29:55

标签: python python-3.x dictionary

所以我有这段代码:

new_dict = {"1":[], "2":[], "3":[], "4":[]}
for coordinates in numbers:
    if coordinates == (48, 12):
        new_dict["1"].append(coordinates)
    elif coordinates in [(68, 125), (54, 160), (20, 137)]:
        new_dict["2"].append(coordinates)
    elif coordinates in [(113, 69), (152, 53)]:
        new_dict["3"].append(coordinates)
    elif coordinates == (108, 149):
        new_dict["4"].append(coordinates)
sorted_dict = sorted(new_dict.items())
for x,y in sorted_dict:
    print (x,y)

打印:

1 [(48, 12)]
2 [(68, 125), (54, 160), (20, 137)]
3 [(113, 69), (152, 53)]
4 [(108, 149)]

而不是仅仅在函数中打印它。如何将其返回而不是将其更改为元组并保持原样。

谢谢。

1 个答案:

答案 0 :(得分:1)

return '\n'.join([' '.join([str(x),str(y)]) for x,y in sorted_dict])

根据你所写的内容,我收集你希望它返回'与我上面显示的相同'。

编辑:抱歉没有将x,y元素放在str()中,现在更正了