从列表中的字符串中删除尾随空格,其中列表属于dict(dict的值)

时间:2015-11-25 15:10:18

标签: python list python-2.7 dictionary

我是这种格式的dict对象,

{'A3' : ['EEE F432 ','EEE F425 ', 'EEE F426 ', 'EEE F416 ', 'EEE F418', 'EEE F427 \n3 0 3'],'A4' : ['ECON F411', 'ME F411', 'ME F412', 'ME F413 ', 'ME F415', 'ME F416', 'ME F417', 'ME F418', 'ME F419', 'ME F420 ', 'ME F432 ']}

我需要删除列表中的所有空格(字典的键)并将其存储在同一个字典中。我试过这些技术,但没有用,

#1
for k, v in ref_dict.iteritems():
    map(str.strip, v)

#2
for k, v in ref_dict.iteritems():
    v  = [x.replace(' ', '') for x in v]

#3
for k, v in ref_dict.iteritems():
    for i in v:
        i = i.rstrip()

可能出现什么问题?

2 个答案:

答案 0 :(得分:3)

您的尝试不会更新值。您正在创建新对象。相反,请尝试更新实际条目:

for k,v in ref_dict.iteritems():
    ref_dict[k] = [e.strip() for e in v]

答案 1 :(得分:1)

这可能有效:

In [9]: for k in ref_dict:
...:     ref_dict[k] = [re.sub('[\s+]', '', elem) for elem in ref_dict[k]]
...:     

In [10]: ref_dict
Out[10]: 
{'A3': ['EEEF432', 'EEEF425', 'EEEF426', 'EEEF416', 'EEEF418', 'EEEF427303'],
 'A4': ['ECONF411', 'MEF411', 'MEF412', 'MEF413', 'MEF415', 'MEF416', 'MEF417', 'MEF418', 'MEF419', 'MEF420', 'MEF432']}

希望这有帮助!