python - 如何用元素符号分隔列表中的元素
问题描述
对不起,如果我不清楚标题
我想将带有符号的字符串列表中的元素分别分隔为例如:
lines = ['hi!,' , 'how' , 'are' , 'you?' ]
['hi' , '!' , ',' , 'how' , 'are' , 'you' , '?']
我知道我可以使用 split(' symbol ') 但是它需要我为每个表达式创建一个表达式。
解决方案
您可以使用匹配字母字符序列或单个非字母的正则表达式:
import re
lines = ['hi!,' , 'how' , 'are' , 'you?' ]
word_or_symbol = re.compile(r'\w+|\W')
out = [item for string in lines for item in word_or_symbol.findall(string)]
print(out)
# ['hi', '!', ',', 'how', 'are', 'you', '?']
推荐阅读
- c++ - 如何通过主类类型的对象访问子类内的枚举?
- google-app-engine - 两个(或多个)Google App Engine 项目之间的反向代理
- json - 具有相同名称的json数组
- r - 让数据在 ggplot 中达到限制而不是 NA
- python - ImportError:没有名为“django”的模块,ImportError:无法导入 Django
- python - 机器人不会响应,也不会给我任何错误
- javascript - 在jquery中选择一个具有两个属性的元素
- javascript - 在 vue.js 中,每次都声明“var ~ = new vue”?
- mysql - split() 不能与 mySQL 连接一起使用?
- image-processing - 第一个位置的平均过滤器 (0,0)