2016-11-09 4 views
-1

値のリストが定義されたPython辞書があります。私は必要な形式で出力を印刷するのに問題があります。Python Print辞書キー、値がリストの場合の値。それぞれのキーと値を別々の行に出力する

dict = {1 : [2,3], 2 : [1,4], 3 : [2,4], 4 : [2,3]} 

必要な印刷形式:

1 - 2, 1 - 3 
2 - 1, 2 - 4 
3 - 2, 3 - 4 
4 - 2, 4 - 3 

コード:

dict = {1 : [2,3], 2 : [1,4], 3 : [2,4], 4 : [2,3]} 
for key, value in sorted(dict.items()): 
    for links in value: 
     print ("{} - {},".format(key, links)), 

出力:

1 - 2, 1 - 3, 2 - 1, 2 - 4, 3 - 2, 3 - 4, 4 - 2, 4 - 3, 

または:

for key, value in sorted(dict.items()): 
    for links in value: 
     print ("{} - {},".format(key, links)) 

1 - 2, 
1 - 3, 
2 - 1, 
2 - 4, 
3 - 2, 
3 - 4, 
4 - 2, 
4 - 3, 
+3

[パイソン3:同一線上に新しい出力を印刷する]の可能な重複(http://stackoverflow.com/questions/12032214/python-3-print-new-output-on -same-line) – smac89

答えて

2
for key, value in sorted(dict.items()): 
    print ', '.join(("{} - {}".format(key, links)) for links in value) 
0
dictionary = {1: [2, 3], 2: [1, 4], 3: [2, 4], 4: [2, 3]} 

for key, links in sorted(dictionary.items()): 
    print("{key} - {}, {key} - {}".format(*links, key=key)) 
0
>>> for key, value in sorted(d.items()): 
     print('{} - {}, {} - {}'.format(key, value[0], key, value[1])) 


1 - 2, 1 - 3 
2 - 1, 2 - 4 
3 - 2, 3 - 4 
4 - 2, 4 - 3 
>>> 
+0

'd.items()'は 'ソートされていなければなりません(...)' – SparkAndShine

関連する問題