2017-04-16 83 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' 

看起来没错。