我有一个这样的字符串(有 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。 .
您也可以在 ', '
上拆分
,但您必须绝对确保逗号后始终有一个空格(考虑换行符等)
关于python - 在 Python 3.3 中从字符串创建列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13867274/