Python 从字典键值对中删除空格

Python 从字典键值对中删除空格,python,Python,这是我的代码,用于将dict添加到一起的程序 from collections import Counter from itertools import chain def add_sparse_vectors(lst1,lst2): dest = dict(Counter(lst1)+Counter(lst2)) return dest 这是我当前的输出: >>> v1 = {0:1, 1:3, 2:1} >>> v2 = {0:1} &

这是我的代码,用于将dict添加到一起的程序

from collections import Counter
from itertools import chain

def add_sparse_vectors(lst1,lst2):
    dest = dict(Counter(lst1)+Counter(lst2))
    return dest
这是我当前的输出:

>>> v1 = {0:1, 1:3, 2:1}
>>> v2 = {0:1}
>>> add_sparse_vectors(v1, v2)
{0: 2, 1: 3, 2: 1}
问题是,我的作业特别要求此输出:

>>> v1 = {0:1, 1:3, 2:1}
>>> v2 = {0:1}
>>> add_sparse_vectors(v1, v2)
{0:2, 1:3, 2:1}
#Note the lack of spaces between the colon and the value in each pair.

是否有人有从输出中的键值对中删除此特定空格的解决方案?非常感谢您的帮助。

您可以为字典编写自己的打印功能:

def print_dict(d):
    print('{'+', '.join('{}:{}'.format(k, v) for k, v in d.items())+'}')

这是您的练习要求的,但实际上我认为,只要任务得到正确解决,他们不应该关心或多或少地使用一些空格…

如果您真的想消除空格,您不需要像@zondo建议的那样实现自定义
dict
类。赋值仅要求表示形式不包含空格。如果
add\u sparse\u vectors
返回字符串而不是字典,则无需更改
dict
的行为

虽然我不认为这是特别优雅,它确实摆脱了空间

def add_sparse_vectors(v1, v2):
    combined_dict = dict(Counter(lst1)+Counter(lst2))
    key_val_pairs = [str(k)+":"+str(v) for k,v in combined_dict.items()]
    output = "{" + ", ".join(key_val_pairs) + "}"
    return output

我想任务已经完成了。您需要创建自己的
dict
类等来获得准确的输出。(除非你真的想返回一个字符串。)赋值的人可能省略了空格,以便更清楚地知道哪些是键,哪些是值。好的,谢谢。我只是担心,因为助教提到我需要作业表中给出的准确输出才能获得学分。这看起来很简单,希望我会没事。这一行是作业的一部分,还是你的注释?这是我的评论