我觉得这是一个非常简单的问题, 但我需要帮助搞清楚。
所以,我有以下内容:
str = 'hello world'
str.split() # ['hello','world']
我想索引'world'但str [1]返回'e',这是列表中的第二个字符。 如何按字而不是字符进行索引?
请帮助我,并提前感谢你。
(请不要告诉我做str [5:] ......我想知道如何索引一般的单词)
答案 0 :(得分:8)
您需要索引my_str.split()
的结果:
my_str = "hello world"
words = my_str.split()
print words[1]
(将变量重命名为my_str
以避免遮挡内置内容。)
请注意,my_str.split()
不会以任何方式更改my_str
。 String对象在Python中是不可变的,无法更改。相反,my_str.split()
返回可以编制索引的字符串列表。
答案 1 :(得分:1)
str
是您的字符串,而不是str.split()
的结果。你需要将结果分配给某个东西(最好是不是,称为str
,因为那是内置str
类型的名称,也是一个用于列表的相当糟糕的名称,即使是从str.split()
返回的人。
>>> s = 'hello world'
>>> l = s.split()
>>> l[1]
'world'
答案 2 :(得分:0)
您正在为str
编制索引,这是一个字符串(您在拆分后没有将值重新分配给str
,因此它已经消失了。)
使用
str.split()[1]
甚至更好地保存拆分结果,索引:
spl = str.split()
spl[1]
答案 3 :(得分:0)
split返回一个列表,而不是分裂到位:
str = 'hello world'
str_words = str.split() # split returns a list
print str_words[0] # prints first word "hello"