使用同一元组的不同元素格式化输出

时间:2017-04-19 01:03:54

标签: python python-3.x sorting formatting tuples

我一直在寻找有关如何最好地格式化元组输出的建议?它涉及一个大型数据集,我已经对包含key1:value1的两个字典中的[key1:[value1,value2]进行了规范化; KEY1:VALUE2。目前我的输出产生了一个输出,例如:{1:[771,' MALICE MIZER'],...但是,我正在尝试这种格式:MALICE MIZER(1)771。如果有人有建议,我很感激。

sorted_aid2numplay= sorted(aid2numplay.items(), key=itemgetter(1), reverse=True) 
#print(sorted_aid2numplay)

sorted_uid2numplay= sorted(uid2numplay.items(), key=itemgetter(1), reverse=True) 
#print(sorted_uid2numplay)

sorted_aid2name = sorted(aid2name.items(), key=itemgetter(0), reverse=False) 
#print(sorted_aid2name)

result = {}
for key in (aid2numplay.keys() | aid2name.keys()):
    #if key in aid2numplay: result.setdefault(key, []).append(aid2numplay[key])
    #if key in aid2name: result.setdefault(key, []).append(aid2name[key])
    if key in aid2numplay and aid2name:
        print((sorted_aid2name.itemgetter(0), key, sorted_uid2numplay.itemgetter(1))
        #print(result)

1 个答案:

答案 0 :(得分:0)

您可以使用for循环和format方法打印字典中的结果。见下面的例子

mydict = {1: [771, 'MALICE MIZER'], 43: [536, 'HARRY POTTER']}
for key,value in mydict.items():
    print '{v[1]}({k}) {v[0]}'.format(k=key,v=value)

结果

MALICE MIZER(1) 771
HARRY POTTER(43) 536