我正在尝试从Python 3.5中的字典列表中删除空格.
我有这个:
lst_of_dicts = [{'code': 'AB DE', 'score': 30},
{'code': 'DE FG', 'score': 40}]
Run Code Online (Sandbox Code Playgroud)
想要这个:
lst_of_dicts = [{'code': 'ABDE', 'score': 30},
{'code': 'DEFG', 'score': 40}]
Run Code Online (Sandbox Code Playgroud)
其他答案建议.strip()使用dict理解,例如:
clean_d = { k:v.strip() for k, v in d.iteritems()}
Run Code Online (Sandbox Code Playgroud)
但我无法让它为我的数据结构工作,因为我恐怕是一个python新手.
不要出汗.只需使用一个for循环:
In [693]: for d in lst_of_dicts:
...: d['code'].replace(' ', '')
...:
In [695]: lst_of_dicts
Out[695]: [{'code': 'ABDE', 'score': 30}, {'code': 'DEFG', 'score': 40}]
Run Code Online (Sandbox Code Playgroud)
此解决方案非常适合您的数据.对于适用于子词典中所有字符串项的一般解决方案,您可以考虑迭代嵌套循环中的键:
for d in lst_of_dicts:
for k in d:
if isinstance(d[k], str):
d[k].replace(' ', '')
Run Code Online (Sandbox Code Playgroud)