python - 如何将以下 Python 字符串拆分为字符串列表?

标签 python arrays python-3.x string list

我有一个字符串'Predicate(big,small)'

如何从中派生以下字符串列表,['Predicate','(','big',',','small',')']

名称可以是任何内容,元素之间也可以有空格,如下所示(我需要从列表中取出空格),谓词(大,小)

到目前为止我已经尝试过了,但这显然不是我想要的结果

>>> str1 = 'Predicate(big,small)'
>>> list(map(str,str1))

输出:

['P', 'r', 'e', 'd', 'i', 'c', 'a', 't', 'e', '(', 'b', 'i', 'g', ',', 's', 'm', 'a', 'l', 'l', ')']

最佳答案

您可以使用 re.split()() 上拆分字符串。您可以捕获正则表达式中的分隔符以将它们包含在最终输出中。与 str.strip() 结合使用来处理空格并过滤掉任何结尾的空字符串,您会得到如下结果:

import re

s = 'Predicate ( big ,small )'
[s.strip() for s in  re.split(r'([\(\),])', s.strip()) if s]
# ['Predicate', '(', 'big', ',', 'small', ')']

关于python - 如何将以下 Python 字符串拆分为字符串列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60581829/

相关文章:

python - 从 pandas 多重索引中删除冗余级别

python - Doctest python 中的私有(private)方法

arrays - 在 Perl 中使用变量的内容引用数组中的元素

javascript - 如何从复杂对象数组中获取唯一属性数组

java - 包含 Java 对象的数组中的最大值

python - Django:如何检查用户是否在过去 7 天内注册?

python - 登录 csv 文件的正确方法是什么?

python - 循环遍历列表元素以获得累积和

C# 相当于 Python 中的 "value error"

python-3.x - 为什么 python 公开的 boost::gregorian::date 不是到处可用?