如何打印具有多个值的字典键

时间:2019-01-17 07:16:14

标签: python-3.x

在尝试打印成对的键和值的字典时遇到麻烦。

字典具有多个键,并且为某个随机键分配了多个随机值。

我正在使用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对在单独的行中打印出来的种类

1 个答案:

答案 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]]