我有一个这样的字符串(有 n 个元素):
input = 'John, 16, random_word, 1, 6, ...'
如何将其转换为这样的列表?我希望“,”成为分隔符。
output = [John, 16, random_word, 1, 6, ...]
请您参考如下方法:
您可以使用 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', '...']我在这里所做的是使用 list comprehension ,我在其中创建了一个列表,其元素由
s.split(',')中的字符串组成,方法是调用strip他们的方法。 这相当于strings = [] for subs in s.split(','): strings.append(subs) print(subs)与 regex :
In [3]: import re In [4]: re.split(r',\s*', s) Out[4]: ['John', '16', 'random_word', '1', '6', '...']
另外,尽量不要使用input作为变量名,因为这样你就隐藏了the built-in function。 .
您也可以在 ', ' 上拆分,但您必须绝对确保逗号后始终有一个空格(考虑换行符等)
