[英]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.