Python中列表的字符串切片

-1 投票
3 回答
2519 浏览
提问于 2025-04-17 18:31

可能这个问题已经有人问过了,但我找不到答案。
我想知道怎么把一个长字符串按照每个逗号切分成一个列表。
比如说:

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

我输入一个字符串,比如 "Jezus, Santa Maria, Program , Hangover"
我想把它切分成 ['Jezus','Santa Maria','Program','Hangover']
然后我想用 st[1] 来获取 'Santa Maria',
但是当我尝试打印 st[1] 的时候,它只显示 'e'。
我希望它能显示 'Santa Maria'。
谁能帮帮我?我在用 Python 3.3 的 Windows 系统。

3 个回答

0

你发的代码没有对 string 做任何处理。其实你需要用 split 方法从 string 生成一个新的对象,这个对象是一个子字符串的列表。

我的做法是:

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

这样可以用逗号作为分隔符来切分字符串,并把去掉空格的子字符串添加到列表中。

然后你可以这样做:

> substrings[0]
>> 'Jezus'
1

使用 split 方法:

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

注意,你的单词之间不仅仅是用逗号分隔的,还有逗号后面跟着一个空格。

0

在Python中,切片并不是字符串(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'

撰写回答