我有一个像这样的字符串(有n个元素):
input = 'John, 16, random_word, 1, 6, ...'
Run Code Online (Sandbox Code Playgroud)
如何将其转换为这样的列表?我希望','成为一个分隔符.
output = [John, 16, random_word, 1, 6, ...]
Run Code Online (Sandbox Code Playgroud)
您可以使用,input.split(',')但正如其他人所说,您将不得不处理前导和尾随空格.可能的解决方案是
没有正则表达式:
In [1]: s = 'John, 16, random_word, 1, 6, ...'
In [2]: [subs.strip() for subs in s.split(',')]
Out[2]: ['John', '16', 'random_word', '1', '6', '...']
Run Code Online (Sandbox Code Playgroud)
我在这里做的是使用列表推导,在其中我创建了一个列表,其元素是s.split(',')通过调用strip它们上的方法从字符串中生成的.这相当于
strings = []
for subs in s.split(','):
strings.append(subs)
print(subs)
Run Code Online (Sandbox Code Playgroud)用正则表达式:
In [3]: import re
In [4]: re.split(r',\s*', s)
Out[4]: ['John', '16', 'random_word', '1', '6', '...']
Run Code Online (Sandbox Code Playgroud)另外,尽量不要使用input变量名,因为这样会影响内置函数.
也只不过是你能split上', ',但你必须绝对确保总有逗号后的空间(想想换行符等)