2017-04-16 79 views
-5

希望你做得很好!想不通split()函數

我被split()函數卡住了。我已經在搜索中查找,split()返回一個列表。

例子:

text = "158.0-165.4" 
splittext = text.split("-") 

它是正確的方法來獲取值158.0和165.4? 由於splittext現在是一個列表,我如何獲得第二個值?

var1 , var2 = splittext.split("-") 

我所得到的只是爲「 - 」

我明白,這些都是很簡單的事情,我應該計算出來檢查文檔,但我不明白我在做什麼錯了:C

請幫助,感謝它!

+0

'splittext'是一個2值的數組,'var1,var2 = splittext'將解包。 'var2'現在會有第二個值。或者,你可以索引'splittext',例如'var2 = splittext [1]' – AChampion

+0

你確定嗎?我有不同的東西。 – tdelaney

+0

您無法打印'splittext.split(「 - 」)'查看它是什麼 –

回答

0
var1, var2 = text.split("-") 

會做你想要的。由於分割方法返回一個數組,你不能使用在該str.split方法(即你不能做splittext.split("-")

你可以,當然,也使用索引訪問值:

splittext = text.split("-") 
var1 = splittext[0] 
var2 = splittext[1] 
+0

感謝您的快速響應!像魅力一樣工作,讓我感到非常愚蠢,哈哈。 = d – Gedas

0

你太過分了。

text = "158.0-165.4" 
splittext = text.split("-") 

這使得splittext陣列。 splittext [0] = 158.0,splittext [1]是165.4。

你想要做的是:

text = "158.0-165.4" 
var1, var2 = text.split("-") 
0

Python是精心打造的實驗。在shell中運行你的例子,我得到了

>>> text = "158.0-165.4" 
>>> splittext = text.split("-") 
>>> splittext 
['158.0', '165.4'] 
>>> var1 , var2 = splittext.split("-") 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
AttributeError: 'list' object has no attribute 'split' 
>>> 

oops!這與你聲稱的不同。嘗試另一種方式

>>> text = "158.0-165.4" 
>>> var1, var2 = text.split("-") 
>>> var1 
'158.0' 
>>> var2 
'165.4' 

看起來沒錯。