2012-02-13 51 views
0

我觉得这是一个非常简单的问题,但我需要帮忙解决。按列表中的词进行索引

所以,我有以下几点:

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

我想索引“世界”,但STR [1]返回“E”,这是在列表中的第二个字符。 如何用字而不是字符来索引?

请帮助我,并提前谢谢。

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

回答

8

你需要指数结果my_str.split()的:

my_str = "hello world" 
words = my_str.split() 
print words[1] 

(将该变量重命名为my_str以避免内置阴影。)

请注意,my_str.split()不会以任何方式更改my_str。字符串对象在Python中是不可变的,不能改变。相反,my_str.split()返回可以被索引的字符串列表。

+2

使用'str'作为变量名的好处......那种疯狂的谎言...... – redrah 2012-02-13 16:26:03

+0

那真的是我的愚蠢......非常感谢你! – CosmicRabbitMediaInc 2012-02-13 16:38:31

0

你索引str,这是一个字符串(没在拆分后重新分配值str,以便排出)。

使用

str.split()[1] 

甚至更​​好的保存拆分结果,并索引:

spl = str.split() 
spl[1] 
0

split返回一个列表,而不是分裂到位:

str = 'hello world' 
str_words = str.split() # split returns a list 

print str_words[0] # prints first word "hello" 
1

str是你的字符串的str.split()没有结果。您需要分配结果的东西(最好的东西str,因为这是内建str类型的名称,也是一个相当糟糕的要使用的名称列表,从str.split()返回连一个。

>>> s = 'hello world' 
>>> l = s.split() 
>>> l[1] 
'world' 
相关问题