Seite 1 von 1

Tupel in einer Liste zu Integer bekommen

Verfasst: Samstag 17. Juni 2017, 18:47
von Bindl
Hi zusammen,

ich folgendes Problem.
Ich habe eine Liste mit einer "Liste" von Tupeln.
Den Inhalt des Tupels hätte ich gerne als Integer.

liste = [(46,)]
Das bekomme ich aus der Datenbank wenn ich wenn ich Gruppenmitglieder bzw. deren user_id hole (SELECT Befehl)

Was ich möchte ist folgendes:

Code: Alles auswählen

liste = [(46,)]
a=46
if a in liste:
    b = a
b sollte dann den Integerwert 46 haben.

Ich bekomme es leider nicht hin, kann mir jmd helfen?

Re: Tupel in einer Liste zu Integer bekommen

Verfasst: Samstag 17. Juni 2017, 18:50
von Bindl

Code: Alles auswählen

liste1 = [(46,)]
for i in liste1:
    tupel=i
    print(i)
a=46
if a in tupel:
    b = a
    print(b)
    print(type(b))
Ist das korrekt?

Re: Tupel in einer Liste zu Integer bekommen

Verfasst: Samstag 17. Juni 2017, 19:11
von __deets__
Nein, das ist nicht korrekt.

Zum einen kannst du auch nur "fetchone" benutzen, statt alle Zeilen abzuholen. Das sollte dir die äußere Liste ersparen.

Und ansonsten greift man bei bekannten Indizes mit dem []-Operator zu. In deinem Fall also einfach

Code: Alles auswählen

b = liste1[0][0]
Das die gewählten Namen schlecht sind hat BlackJack dir bestimmt schon gesagt, aber Wiederholung hilft ja vielleicht.

Re: Tupel in einer Liste zu Integer bekommen

Verfasst: Samstag 17. Juni 2017, 19:20
von Bindl
Hi,
fetchone() ging hier leider nicht, da ich alle user_id´s brauche und dann prüfe ich ob user_id x in dem Tupel dabei ist.
Ich benutze auch andere Variablennamen, a & b habe ich hier nur benutzt um es zu erklären. Habe den Tipp nach besten Wissen und Gewissen beherzigt.
Mittlerweile funktioniert es.