在列表中按字索引

时间:2012-02-13 16:10:27

标签: python

我觉得这是一个非常简单的问题, 但我需要帮助搞清楚。

所以,我有以下内容:

str = 'hello world'
str.split()  # ['hello','world']

我想索引'world'但str [1]返回'e',这是列表中的第二个字符。 如何按字而不是字符进行索引?

请帮助我,并提前感谢你。

(请不要告诉我做str [5:] ......我想知道如何索引一般的单词)

4 个答案:

答案 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"