簡體   English   中英

拆分字符串並選擇一個值

[英]Splitting a string and picking a value

我在Python中有字符串,我正在使用Split拆分。 然后,我訪問它的長度,並想獲取第三個值。

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

知道使用split后如何訪問第三個值嗎?

根本不需要第二行。 您可以通過幾種方法來執行此操作

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'

所有這些答案都是正確的,我只是想補充一下原始問題出了什么問題。 進行以下分配時:

E = len(Q)

E被設置為整數。 當您嘗試執行此操作時:

R = Q[E[2]]

當您實際嘗試做的時候,取integer E的第二個元素。 由於E不是數組(技術錯誤是TypeError: 'int' object is not subscriptable ),因此這是程序中斷的地方(實際上,它會在E = = len(Q)中斷,但我假設這是一個錯字在您的問題中,因為您指出此行之后發生錯誤)。

做就是了:

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

選擇第三個值。 通常,當您使用/拆分時,它與文件路徑有關。 在這種情況下,您可以使用以下快捷方式:

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

您所擁有的語法無效( 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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM