拆分字符串并选择一个值

时间:2013-06-06 17:38:36

标签: python split

我在Python中有字符串,我使用Split进行拆分。然后我访问它的长度,并想要获取第3个值。

Q = S.split('/')
E = = len(Q)
R = Q[E[2]] // ERROR

任何想法如何在使用split后访问第3个值?

4 个答案:

答案 0 :(得分:2)

根本不需要你的第二行。你可以通过几种方式实现这一目标

Q = S.split('/')
R = Q[2] 

另一种选择是:

R = S.split('/')[2]

示例输出:

>>> S = "Hey/there/you/are"
>>> Q = S.split('/')
>>> R = Q[2] 
>>> R
'you'
>>> R = S.split('/')[2]
>>> R
'you'

答案 1 :(得分:2)

所有这些答案都是正确的,我只是想对原始问题出了什么问题进行细分。当您进行以下任务时:

E = len(Q)

E被设置为整数。当您尝试执行此操作时:

R = Q[E[2]]

当您实际尝试时,请使用integer E的第二个元素。由于E不是一个数组(技术错误是TypeError: 'int' object is not subscriptable),这是程序中断的地方(实际上它会在E = = len(Q)上中断,但我假设这是你的错字问题,因为你指出这一行之后发生的错误。)

答案 2 :(得分:1)

只是做:

R = S.split('/')[2]

选择第三个值。通常,当您使用/进行拆分时,它与文件路径相关。如果是这种情况,您可以使用以下快捷方式:

import os
R = os.path.split(path)

答案 3 :(得分:1)

你所拥有的语法无效(E == len(Q)

要访问第三个值:

Q = S.split('/')
R = Q[2]

现在您可能希望使用len()来检查并确保列表首先具有适当数量的元素,但len()将返回一个整数,即长度。例如:

Q = S.split('/')
if len(Q) >= 3:
    R = Q[2]
else:
    # handle a situation where there aren't enough elements