以更有吸引力的方式打印字典键

Printing out Dictionary Keys in a More Attractive Way

晚上好,

打印字典的键值并不难:

print(dict_example.keys())

但是这种方法吐出一个相当不吸引人的演示文稿:

dict_keys(['A', 'B', 'C'])

有没有办法让 Python 以更有吸引力的方式吐出字典的键。例如,像这样:

A, B, C

一个简单的解决方案是在 print 中使用 *,例如:

print(*dict_example.keys()) #A B C

添加分隔符会使其更具可读性:

print(*dict_example.keys(),sep=', ') #A, B, C

如果你想要更详细的:

print("\n".join("{}\t{}".format(k, v) for k, v in dict_example.items())) 
#A     dict_example['A']
#B     dict_example['B']

您可以使用join方法:

>>> print(", ".join(d.keys()))
a, b, c

您可以为此使用字符串方法 join

dict_example = {
    'A': 1, 
    'B': 2, 
    'C': 3,
}
print(', '.join(dict_example))

# output:
# A, B, C

由于 str.join 需要某种可迭代对象,传入字典作为参数意味着它将所有键连接成一个字符串(因为遍历字典意味着遍历其键) .

如果一个或多个键不是字符串,您需要稍微修改它,方法是在加入之前将它们显式转换为字符串。在这种情况下,我们可以将生成器表达式 str(k) for k in dict 传递给 str.join 来做到这一点:

dict_example = {
    'A': 1, 
    'B': 2, 
    'C': 3, 
    10.5: 'xxx',
}
print(', '.join(str(k) for k in dict_example))

# output:
# A, B, C, 10.5