Skip to main content
 首页 » 编程设计

python之在 Python 3.3 中从字符串创建列表

2025年05月04日19Terrylee

我有一个这样的字符串(有 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。 .

您也可以在 ', ' 上拆分,但您必须绝对确保逗号后始终有一个空格(考虑换行符等)