Python 2.7:不带括号和引号打印字典

5
myDict = {"Harambe" : "Gorilla", "Restaurant" : "Place", "Codeacademy" : "Place to learn"}

所以,我想打印出一个字典。但我希望它看起来像实际的东西列表一样。我不能只是使用print myDict,因为它会留下所有丑陋的东西。我希望输出看起来像Harambe: 大猩猩,餐厅: 地方,等等

那么我该怎么办呢?我还没有找到符合我要求的帖子。谢谢提前。

5个回答

12

使用 items 字典方法:

print('\n'.join("{}: {}".format(k, v) for k, v in myDict.items()))

输出:

Restaurant: Place
Codeacademy: Place to learn
Harambe: Gorilla

扩展:

for key, value in myDict.items():
    print("{}: {}".format(key, value))

1
这是我尝试的第一个,它起作用了!谢谢! - m1ksu

2

我不确定这是否是Python 3.x的问题(第一篇帖子),但我在列表中使用字典时遇到了这个问题,并找到了解决方法:

list = [
 {'Key1': 'Value1', 'Key2': 'Value2'},
 {'Key1': 'Value1', 'Key2': 'Value2'}
 ]

for i in list:
 print('Key1: ', i['Key1'], 'Key2: ', i['Key2'])

1
我的解决方案:
print ', '.join('%s : %s' % (k,myDict[k]) for k in myDict.keys())

1

再来一个,在Python 3中:

print(*['{} : {}'.format(k,v) for k,v in myDict], sep = "\n")

0
您可以尝试类似于这样的代码。
for (i, j) in myDict.items():
    print "{0} : {1}".format(i, j), end = " " 

请注意,由于字典无法保证顺序,因此输出结果很可能更像 Restaurant : Place Harambe : Gorilla Codeacademy : Place to learn

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接