首页 > 解决方案 > 删除字典值python中的空格

问题描述

我正在从外包中读取数据。数据具有“名称”和“带有警告的值”,因此我将它们以如下方式放入字典中

d[data[i:i+6]] = data[i+8:i+17], data[i+25:i+36]

因此,最后我的 dict 为;

{'GPT-P ': ('169      ', 'H          '), 'GOT-P ': ('47       ', '           '), .....

如上所示,键和值都可能包含不必要的空格。我能够克服键中的空格;

d = {x.replace(' ',''): v
     for x, v in d.items()}

但似乎无法管理类似的价值观。我尝试使用d.values(),但它会修剪键名,并且仅适用于其中 1 个值。

您能帮我理解如何删除多个的空间(在这种特殊情况下为 2 个值)并最终得到类似的东西;

{'GPT-P': ('169', 'H'), 'GOT-P ': ('47', ''), .....

谢谢。保持安全和健康

标签: pythondictionary

解决方案


您还需要在v值中进行空格替换,但
在您的情况下,字典中的值似乎是tuples

我猜你会想要删除每个元组的所有元素中的空格,所以你需要在这里进行第二次迭代。你可以这样做:

d = {'GPT-P ': ('169      ', 'H          '), 'GOT-P ': ('47       ', '           ')}

{x.replace(' ', ''): tuple(w.replace(' ', '') for w in v) for x, v in d.items()}

返回:

{'GPT-P': ('169', 'H'), 'GOT-P': ('47', '')}

tuple(w.replace(' ', '') for w in v)请注意,字典推导式中有列表(或元组)推导式。


推荐阅读