Seite 1 von 1

Verständnisfrage: Liste Tupel, oder völlig kalt?

Verfasst: Donnerstag 5. Januar 2017, 15:04
von Dirki
Hallo zusammen!

Schon vor Monaten habe ich versucht mit der Hilfe meines Lieblingsbuches und eurer Hilfe Python zu lernen. Leider habe ich meine Bemühungen aufgrund Zeitmangels unterbrochen. Jetzt ist natürlich das meiste weg und ich versuche wieder einen Einsprungpunkt zu finden.

Bei den Programm, was ich damals versucht habe umzusetzten muss ich leider zugeben, das viele der Codezeilen von euch kamen, und ich dementsprechend versucht habe zu verstehen, was ihr beigetragen habt. Jetzt muss ich leider wieder so ziemlich von Vorne anfangen und scheitere bei der simplen Frage: Um was handelt es sich hier:

[codebox=pycon file=Unbenannt.txt]
SERVERS = [
("Servername", "serveradresse.de", 22),
("Server-lokal", "server", 22),
("Mediacenter", "192.168.0.145", "22")
]
[/code]

Ist das eine Liste? Ein Tupel, oder liege ich komplett falsch? Was ist das?

Danke für eure Mühe mich zu erhellen!

Viele Grüße

Dirk

Re: Verständnisfrage: Liste Tupel, oder völlig kalt?

Verfasst: Donnerstag 5. Januar 2017, 15:10
von BlackJack
@Dirki: Das ist eine Liste mit Tupeln die jeweils drei Elemente haben, wovon die ersten beiden Zeichenketten sind, und das dritte eine ganze Zahl, ausser beim letzten Tupel. Was vermutlich ein Fehler ist.

Das kann man mit der `type()`-Funktion herausfinden:

Code: Alles auswählen

In [9]: SERVERS
Out[9]: 
[('Servername', 'serveradresse.de', 22),
 ('Server-lokal', 'server', 22),
 ('Mediacenter', '192.168.0.145', '22')]

In [10]: type(SERVERS)
Out[10]: list

In [11]: type(SERVERS[0])
Out[11]: tuple

In [12]: list(map(type, SERVERS[0]))
Out[12]: [str, str, int]

In [13]: list(map(type, SERVERS[-1]))
Out[13]: [str, str, str]

Re: Verständnisfrage: Liste Tupel, oder völlig kalt?

Verfasst: Donnerstag 5. Januar 2017, 15:21
von Dirki
Danke BlackJack für Deine Antwort! :)

Wie man ja erkennen kann möchte ich in der Liste mit Tupeln ja Serveradressen und IPs speichern. Das man Zahlen und und Zeichenketten mischt, ist das generell falsch, oder "nur" schlechter Stil? Weil Server ja entweder über das eine oder andere erreicht werden, ist es ja leider nicht zu 100% sicherzustellen, das die Listen das eine oder das andere enthalten.

Edit: unglaublich, wie ihr Code mal eben aus den Ärmel schüttelt

Re: Verständnisfrage: Liste Tupel, oder völlig kalt?

Verfasst: Donnerstag 5. Januar 2017, 15:34
von noisefloor
Hallo,
Das man Zahlen und und Zeichenketten mischt, ist das generell falsch, oder "nur" schlechter Stil?
Du kannst in einer Liste oder einem Tupel beliebig mischen, je nach Anforderung.

Was BlackJack meint ist die Inkonsistenz der zwischen ersten beiden Tupeln und dem dritten. In den ersten beiden ist 22 ein Zahl vom Typ `int`, im dritten ein String. Hier gilt normalerweise: entweder oder.

Gruß, noisefloor

Re: Verständnisfrage: Liste Tupel, oder völlig kalt?

Verfasst: Donnerstag 5. Januar 2017, 15:41
von Dirki
Ahh! Alles Klar, dabei handelt es sich in der Tat um einen Fehler. Wer weiß was mich da geritten hat. Danke vielmals für die Hinweise!