我有一个包含key:value对的字典,我需要打印这些对,但是格式化value字段。当前输出如下
|key1| ['vl', 'v2', 'v3', 'v4', 'v5']
|key2| ['v1', 'v2']
但是我需要这种特定格式
|key1| 'vl', 'v2', 'v3', 'v4', 'v5'|
|key2| 'v1', 'v2'|
我只是在做一个基本的for循环来打印k:v,但不知道如何格式化。
for key, value in sorted(dict.items()):
print(key, value)
答案 0 :(得分:1)
首先,请勿将python内置关键字用作变量名,因此请勿命名变量dict
,而应命名为dct
遍历字典并根据给定的格式打印字符串。
您将需要使用值创建字符串,以使值被单引号引起来,然后可以使用f字符串创建最终字符串
dct = {'key1': ['vl', 'v2', 'v3', 'v4', 'v5'],
'key2': ['v1', 'v2']}
for key, value in sorted(dct.items()):
#Convert list of values to given value string
value_str = ', '.join("'{0}'".format(w) for w in value)
#Use f-string to print
print(f'|{key}| {value_str}|')
输出将为
|key1| 'vl', 'v2', 'v3', 'v4', 'v5'|
|key2| 'v1', 'v2'|
答案 1 :(得分:1)
您尝试过吗:
for key, value in sorted(dict.items()):
print(key, str(value).replace("]", "|").replace("[",""))