在尝试打印成对的键和值的字典时遇到麻烦。
字典具有多个键,并且为某个随机键分配了多个随机值。
我正在使用python 3.4
我在Google周围做了一些搜索,但结果却与预期的完全不同。
我的代码是:
data = {'HAWAII': ['2006/10/19 2.5', '2006/10/20 3.1'],
'MISSOURI': ['2006/10/18 3.4'],
'INDONESIA': ['2006/10/20 4.9'],
'PANAMA': ['2006/10/18 5.0'],
'MEXICO': ['2006/10/20 2.8', '2006/10/18 3.3'],
'ALASKA': ['2006/10/19 2.8', '2006/10/18 2.6', '2006/10/18 2.7', '2006/10/18 2.7', '2006/10/18 2.8'],
'VANUATU': ['2006/10/18 6.2']}
for k,v in data.items():
print(str(k)+":"+str(v))
我尝试了其他类似方法:
for key in data:
strA = key + ": "
for data in value:
strB = ''.join(data)
print("["+strA + "["+strB+"]"+"]"+"\n")
预期结果:
[ALASKA, [2006/10/19, 2.8], [2006/10/18, 2.6], [2006/10/18, 2.7],
[2006/10/18, 2.7], [2006/10/18, 2.8]]
[MEXICO, [2006/10/20, 2.8], [2006/10/18, 3.3]]
通过键和不同的kv对在单独的行中打印出来的种类
答案 0 :(得分:0)
您可以按照以下方式打印它:
for k, v in data.items():
print('[{key}, {values}]'.format(key=k, values=', '.join('[{}]'.format(', '.join(x.split())) for x in v)))
输出结果为:
[MEXICO, [2006/10/20, 2.8], [2006/10/18, 3.3]]
[HAWAII, [2006/10/19, 2.5], [2006/10/20, 3.1]]
[MISSOURI, [2006/10/18, 3.4]]
[PANAMA, [2006/10/18, 5.0]]
[VANUATU, [2006/10/18, 6.2]]
[ALASKA, [2006/10/19, 2.8], [2006/10/18, 2.6], [2006/10/18, 2.7], [2006/10/18, 2.7], [2006/10/18, 2.8]]
[INDONESIA, [2006/10/20, 4.9]]