與KEY1,KEY2,KEY3問題等等,就是密鑰中的密碼不是有序的。因此,我覺得如此自由來改變你的詞典到鍵值元組的列表,以獲得排序進入鍵:
然後,您可以做這樣的事情:
d = [ ('Coco', ['verde', 'redondo']),
('Plátano', ['amarillo', 'doblado']),
('Fresa', ['rojo', 'redondo chiquito']) ]
def makeTable (d):
widths = [2 + max ([len (k) ] + [len (v) for v in vs]) for k, vs in d]
formats = ['{:^%s}' % width for width in widths]
values = zip (* ([k] + vs for k, vs in d))
sep = '\n+' + '-' * (sum (widths) + len (d) - 1) + '+\n'
rows = sep.join ('|{}|'.format ('|'.join (formats [i].format (k) for i, k in enumerate (vs))) for vs in values)
return sep + rows + sep
print (makeTable (d))
爲了將字典轉換爲元組列表,只需使用[ (k, v) for k, v in d.items() ]
即可。
把這兩件事情一起將導致:
d = {'Coco': ['verde', 'redondo'],
'Plátano': ['amarillo', 'doblado'],
'Fresa': ['rojo', 'redondo chiquito'] }
print (makeTable ([ (k, v) for k, v in d.items() ]))
你應該在答案中包含更多信息,而不僅僅是一個鏈接。請參閱:[是否只包含其他鏈接的答案真的是「很好的答案」?](http://meta.stackexchange.com/q/8231) – 2013-02-21 01:33:42
@JoelCornett我知道,但我認爲這個答案會比我更快地得到答案編寫示例代碼,所以我想獲得一個佔位符。 – Soverman 2013-02-21 02:06:05
不夠公平。 + 1'd – 2013-02-21 03:52:52