字符串切片列表中的python

时间:2013-03-09 19:13:12

标签: python string list slice

也许这是一个讽刺但我找不到答案 如何在每个逗号变为列表后切换长字符串 像这样:

st=  input("Enter string:").slice(',')

我输入了一个像“Jezus,Santa Maria,Program,Hangover”这样的字符串 我想把它切成['Jezus','Santa Maria','Program','Hangover']
然后使用st[1]作为圣玛丽亚 但是当我尝试打印st[1]时,它只出现'e' 我希望圣玛丽亚出来。 有帮助吗? 使用python 3.3 Windows

3 个答案:

答案 0 :(得分:1)

使用split

>>> "Jezus, Santa Maria, Program , Hangover".split(', ')
['Jezus', 'Santa Maria', 'Program ', 'Hangover']

请注意,您的单词不仅以逗号分隔,而且以逗号分隔空格。

答案 1 :(得分:0)

在Python中,slice不是str对象的方法。您应该使用str.split。请注意,请不要将变量命名为内置或标准库。

string=  input("Enter string:").slice(',')

更改为

st=  input("Enter string:").split(',')

演示

>>> st=  input("Enter string:").split(',')
Enter string:"Jezus, Santa Maria, Program , Hangover"
>>> st[1]
' Santa Maria'

答案 2 :(得分:0)

您发布的代码对string无效。实际上,您需要使用string方法从split生成一个新对象,这是一个子字符串列表。

我的方法是:

substrings = [s.strip() for s in yourstring.split(',')]

这会将字符串除以逗号作为分隔符,并将STRIPPED子字符串添加到列表中(从而删除任何空格)。

然后你可以这样做:

> substrings[0]
>> 'Jezus'