Hur för att kolla om en variabel finns i tuple? (Python)

Permalänk
Medlem

Hur för att kolla om en variabel finns i tuple? (Python)

Har i uppgift i python att skriva en ordlista på 3 olika sätt: listor, tupler och dictionary
Listor har jag avklarat. Jag har däremot problem med tupler.

Om man har skrivit in någonting i en tuple m h a raw_input. Hur ska man då sen skriva för att komma kolla om det finns inne i tuplen?

Jag antar att man ska göra en "if nånting in nånting_annat" men det hur man ska göra sen inne i if-satsen jag fastnar... vet inte hur jag ska skriva där inne.

Exempel (listor):

def lookup(wordlist, desclist): look = raw_input("Lookup a word: ") print "" if look in wordlist: n = wordlist.index(look) print "Description of'",look,"'is: ",desclist[n] print "" else: print "That word does not exist in your wordlist."

Med listor så kan man ju skriva wordlist.index(variabel)... men index finns ju inte till tupler.

Visa signatur

AMD 5800X ▪ MSI B550M Mortar ▪ G.Skill 32GB 3600MHz CL16 ▪ Gainward GLH 1080 ▪ 1TB SSD 970 Evo+ ▪ FD Define Mini C ▪ Aorus AD27QD + LG 27GL850

Permalänk
Medlem

a = 4, 6, 8, 9 if 3 in a: print("3 finns i variabel 'a'")

eller om du vill använda en variabel

a = 2, 6, 1, 4 b = 6 if b in a: print(b + " finns i 'a'");

Visa signatur

Kom-pa-TI-bilitet

Permalänk
Medlem
Skrivet av Teknocide:

a = 4,6,8,9 if 3 in a: print("3 finns i variabel 'a'")

Det förstod jag men jag vill ju inte behöva skriva print "blabla finns i bla" för varje variabel jag vill kolla om den finns.

Har uppdaterat mitt första inlägg så det är lättare att förstå hur jag menar...

Visa signatur

AMD 5800X ▪ MSI B550M Mortar ▪ G.Skill 32GB 3600MHz CL16 ▪ Gainward GLH 1080 ▪ 1TB SSD 970 Evo+ ▪ FD Define Mini C ▪ Aorus AD27QD + LG 27GL850

Permalänk
Medlem

Aha, tror du får göra om din tuple till en lista då

Detta kanske fungerar, har inte testat..

def lookup(wordlist, desclist): look = raw_input("Lookup a word: ") print "" wl = list(wordlist) if look in wl: print "Description of'", look, "'is: ", desclist[wl.index(look)] print "" else: print "That word does not exist in your wordlist."

Det bästa hade kanske varit att zippa samman tuplarna så att du fått en struktur som (('banan', 'en gul frukt'), ('apelsin', 'gör man juice av'))

Visa signatur

Kom-pa-TI-bilitet

Permalänk
Medlem

Det är nog så det är tänkt att jag ska göra efter som ena uppgiften var att göra en ordlista m h a listor, andra uppgiften är med tupler istället för listor. Jag har försökt googla och söka på annat sätt men hittar inte hur jag ska kunna göra det.

Visa signatur

AMD 5800X ▪ MSI B550M Mortar ▪ G.Skill 32GB 3600MHz CL16 ▪ Gainward GLH 1080 ▪ 1TB SSD 970 Evo+ ▪ FD Define Mini C ▪ Aorus AD27QD + LG 27GL850

Permalänk
Medlem

såhär kan du göra:

def lookup(wordlist, desclist): look = raw_input("Lookup a word: ") wldl = zip(wordlist, desclist) desc = next((desc for (word,desc) in wldl if x == look), 'no desc') print desc

Visa signatur

AK47s for everyone! - Angry mob
Since NaN /= NaN, I think, we should decipher 'NaN' as 'Not a NaN' - Miguel Mitrofanov
(Varför är människan så benägen att tro på Gud?) Antagligen har det lönat sig och evolutionen har drivit fram sådana hjärnor. - Anon