我有一个字符串。
s = '1989, 1990'
我想使用python&将其转换为list我希望输出为,
s = ['1989', '1990']
是否有最快的单线方式?
答案 0 :(得分:8)
答案 1 :(得分:4)
使用split method:
>>> '1989, 1990'.split(', ')
['1989', '1990']
但你可能想:
使用replace
由','
因此:
>>> '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)