我在Python中有字符串,我使用Split进行拆分。然后我访问它的长度,并想要获取第3个值。
Q = S.split('/')
E = = len(Q)
R = Q[E[2]] // ERROR
任何想法如何在使用split后访问第3个值?
答案 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