python中字符串到列表的转换
我有一根绳子python中字符串到列表的转换,python,string,list,Python,String,List,我有一根绳子 s = '1989, 1990' 我想用python将其转换为列表&我想输出为 s = ['1989', '1990'] 有没有最快的一种班轮运输方式?使用: 但你可能想: 使用删除空格 除以“,” 因此: >>> '1989, 1990,1991'.replace(' ', '').split(',') ['1989', '1990', '1991'] 如果您的字符串来自用户输入,这将更好地工作,因为用户可能会忘记在逗号后键入空格。调用拆分功能: myLi
s = '1989, 1990'
我想用python将其转换为列表&我想输出为
s = ['1989', '1990']
有没有最快的一种班轮运输方式?使用:
但你可能想:
>>> '1989, 1990,1991'.replace(' ', '').split(',')
['1989', '1990', '1991']
如果您的字符串来自用户输入,这将更好地工作,因为用户可能会忘记在逗号后键入空格。调用
拆分功能:
myList = s.split(', ')
首先删除空格,然后用逗号分隔。使用列出理解:
s = '1989, 1990'
[x.strip() for x in s.split(',')]
简单明了
此外,这已经是很多次了 或者您可以使用正则表达式:
>>> import re
>>> re.split(r"\s*,\s*", "1999,2000, 1999 ,1998 , 2001")
['1999', '2000', '1999', '1998', '2001']
表达式\s*,\s*
再次匹配零个或多个空格字符、逗号和零个或多个空格字符。我为此创建了通用方法:
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)
“如果您的字符串来自用户输入,则效果会更好,因为用户可能会忘记在逗号后键入空格。”这很有帮助。感谢您的反馈,完成后请不要忘记键入空格。这将节省阅读未回答问题的其他人查找未解决问题的人的时间。这是一个更好的答案-替换所有空格可能会影响数据,剥离拆分项目是一个更好的主意。可能重复
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)