【发布时间】:2018-10-21 03:48:51
【问题描述】:
我有一个字典,其中键是字符串,值是字符串列表。我尝试使用 strings.punctuations 从 import strings 模块中删除标点符号。
>>> dat = {'2008':['what!','@cool','#fog','@dddong'],'2010':['hey','@cute']}
>>>
>>> def remove_punct(data):
... import string
... punct = string.punctuation
... rpunct = punct.replace('@',"") # withold @
... for k,v in data.items():
... for word in data[k]:
... word = word.strip(rpunct)
... return data
...
>>> remove_punct(dat)
{'2008': ['what!', '@cool', '#fog', '@dddong'], '2010': ['hey', '@cute']}
为什么我不能用 # 和 !删除了吗?
我必须在word.strip(rpunct)...之后再次定义字典吗?
【问题讨论】:
-
在
word = word.strip(rpunct)之后添加一个打印语句print(data[k]),看看会发生什么。问题是您正在尝试在循环中修改列表。如果你用谷歌搜索,你会发现很多问题和解决方法。
标签: string python-3.x punctuation