为每个条目打印排序的dict(元组)和新行

时间:2017-11-21 19:59:48

标签: python sorting dictionary printing

我有这个字典按频率排序SELECT Customer.c_num, customer.cname, salesorder.ordernum, salesorder.orderamount FROM (Customer LEFT JOIN SalesOrder ON Customer.C_num = SalesOrder.C_Num) WHERE Customer.C_num = "C101" OR Customer.C_num = "C102" OR Customer.C_num = "C103" OR Customer.C_num = "C104" OR Customer.C_num = "C105" OR Salesorder.OrderAmount is NULL ORDER BY Customer.Cname;

import sys from operator import itemgetter

当我dictionarydata = {('to', 4648), ('a', 4667), ('and', 6407), ('of', 6703)} 时,我希望输出如下:

print(dictionarydata)

我所尝试的一切都行不通。对于exymple,正则表达式似乎不适用于元组; e.g。

to : 4648
a : 4667
and : 6407
of : 6703

2 个答案:

答案 0 :(得分:1)

如果您的set元组似乎是

x = {('to', 4648), ('a', 4667), ('and', 6407), ('of', 6703)}

使用\n格式化它以加入行,并str.format创建所需的行:

print("\n".join(["{} : {}".format(*l) for l in x]))

结果:

to : 4648
a : 4667
and : 6407
of : 6703

请注意,由于您的输入为set,因此无法保证订单。如果它是listtuple

答案 1 :(得分:0)

items = [('a', 1), ('b', 2), ('c', 3)]
for (key, value) in items:
    print(key, ":", value)

这将给出输出:

a : 1
b : 2
c : 3

这也与做:

相同
for x in items:
    print(x[0], ":", x[1])

例如。