字符串列出python中的转换

时间:2012-03-28 10:19:01

标签: python string list

我有一个字符串。

s = '1989, 1990'

我想使用python&将其转换为list我希望输出为,

s = ['1989', '1990']

是否有最快的单线方式?

6 个答案:

答案 0 :(得分:8)

使用列表推导

s = '1989, 1990'
[x.strip() for x in s.split(',')]

简单易行。

此外,这已经多次asked了!

答案 1 :(得分:4)

使用split method

>>> '1989, 1990'.split(', ')
['1989', '1990']

但你可能想:

  1. 使用replace

  2. 删除空格
  3. 由','

  4. 拆分

    因此:

    >>> '1989, 1990,1991'.replace(' ', '').split(',')
    ['1989', '1990', '1991']
    

    如果您的字符串来自用户输入,这将更有效,因为用户可能忘记在逗号后命中空格。

答案 2 :(得分:4)

调用split函数:

myList = s.split(', ')

答案 3 :(得分:2)

print s.replace(' ','').split(',')

首先删除空格,然后用逗号分割。

答案 4 :(得分:1)

或者您可以使用正则表达式:

>>> import re
>>> re.split(r"\s*,\s*", "1999,2000, 1999 ,1998 , 2001")
['1999', '2000', '1999', '1998', '2001']

表达式\s*,\s*匹配零个或多个空格字符,逗号和零个或多个空白字符。

答案 5 :(得分:1)

我为此创建了通用方法:

def convertToList(v):
    '''
    @return: input is converted to a list if needed
    '''
    if type(v) is list:
        return v
    elif v == None:
        return []
    else:
        return [v]

也许这对你的项目有用。

converToList(s)