Tupel in einer Liste zu Integer bekommen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Bindl
User
Beiträge: 70
Registriert: Donnerstag 27. Oktober 2016, 11:48

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?
Bindl
User
Beiträge: 70
Registriert: Donnerstag 27. Oktober 2016, 11:48

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?
__deets__
User
Beiträge: 14529
Registriert: Mittwoch 14. Oktober 2015, 14:29

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.
Bindl
User
Beiträge: 70
Registriert: Donnerstag 27. Oktober 2016, 11:48

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.
Antworten