2017-04-16 6 views
-5

hoffe, du machst es gut!Kann nicht herausfinden split() Funktion

Ich bin mit split() -Funktion stecken geblieben. Ich habe auf der Suche nachgeschlagen, dass split() eine Liste zurückgibt.

Beispiel:

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

Ist es die richtige Art und Weise Werte 158,0 und 165,4 zu bekommen? Da der Splittext jetzt eine Liste ist, wie bekomme ich zum Beispiel einen zweiten Wert?

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

Was bekomme ich nur „-“

Ich verstehe, dass diese einfache Dinge und ich sie herausfinden, in der Dokumentation überprüft, aber ich habe nicht, was ich falsch mache: c

Bitte helfen Sie, schätzen Sie es!

+0

'splittext' ist ein Array von 2 Werten,' var1, var2 = splittext' wird entpackt. 'var2' hat jetzt den zweiten Wert. Alternativ können Sie einfach "Splittext", z. 'var2 = splittext [1]' – AChampion

+0

Bist du sicher? Ich habe etwas anderes. – tdelaney

+0

Sie konnten 'splittetext.split (" - ")' nicht drucken, um zu sehen, was es war –

Antwort

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

werden tun, was Sie suchen. Da die Split-Methode ein Array zurückgibt, können Sie nicht die str.split Methode auf das verwenden (dh Sie können nicht splittext.split("-") tun)

Man könnte sich natürlich auch Zugriff auf die Werte Indizes verwenden:

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

Danke für solch eine schnelle Antwort! Funktioniert wie ein Zauber und macht mich wirklich dumm, haha. = D – Gedas

0

Sie tun einen Schritt zu weit.

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

Dies macht splittext ein Array. Splittext [0] = 158.0, Splittext [1] ist 165.4.

Was möchten Sie tun ist:

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

Python ist für Experimente gut gebaut. Laufen Sie Ihr Beispiel in der Schale, bekomme ich

>>> 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! Das ist anders als Sie behaupten. Versuchen Sie es auf andere Weise

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

Das sieht richtig aus.