2024-06-16 16:52:29 发布
网友
我有一个特定的头衔
我想开始拆分一个列表的空格和标点符号,这样得到的列表中就没有单词包含任何空格或标点符号了。你知道吗
例:“乔的”这个词可以分为“乔”和“s” “ad-sf”分为“ad”和“sf”
开始时间:
['Toms', 'ad sf', "Joe's"] Ending: ['Toms', 'ad', 'sf' , 'Joe', 's']
我试过regex,split,但是没有一个简单简洁的方法。有人能想出更好的办法吗?你知道吗
拆分每个项目并连接各个部分:
from itertools import chain mylist = ['Toms', 'ad sf', "Joe's"] list(chain(*[re.split("\W+", item) for item in mylist])) #['Toms', 'ad', 'sf', 'Joe', 's']
以下是一个“干净”的功能解决方案:
list(chain(*map(lambda item: re.split("\W+", item), mylist))) #['Toms', 'ad', 'sf', 'Joe', 's']
没有内在的方法来实现你想要的,但是这里是我能想到的使用map的最简洁的方法。你知道吗
map
import re words = ['Toms', 'ad sf', "Joe's"] sum(map(re.compile(r'\W+').split, words), []) # Output: ['Toms', 'ad', 'sf', 'Joe', 's']
您可以使用re.split:
re.split
import re s = ['Toms', 'ad sf', "Joe's"] final_result = [j for i in s for j in re.split(r'\W+', i)]
输出:
['Toms', 'ad', 'sf', 'Joe', 's']
拆分每个项目并连接各个部分:
以下是一个“干净”的功能解决方案:
没有内在的方法来实现你想要的,但是这里是我能想到的使用
map
的最简洁的方法。你知道吗您可以使用
re.split
:输出:
相关问题 更多 >
编程相关推荐