Python 从字典键值对中删除空格
这是我的代码,用于将dict添加到一起的程序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} &
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
类等来获得准确的输出。(除非你真的想返回一个字符串。)赋值的人可能省略了空格,以便更清楚地知道哪些是键,哪些是值。好的,谢谢。我只是担心,因为助教提到我需要作业表中给出的准确输出才能获得学分。这看起来很简单,希望我会没事。这一行是作业的一部分,还是你的注释?这是我的评论