0

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

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

知道使用 split 后如何访问第三个值吗?

4

4 回答 4

2

所有这些答案都是正确的,我只是想对原始问题的问题进行一些分解。当您进行以下分配时:

E = len(Q)

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

R = Q[E[2]]

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

于 2013-06-06T17:51:03.337 回答
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'
于 2013-06-06T17:41:55.353 回答
1

做就是了:

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

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

import os
R = os.path.split(path)
于 2013-06-06T17:41:35.433 回答
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
于 2013-06-06T17:41:53.477 回答