Orjanp Skrevet 28. april 2005 Del Skrevet 28. april 2005 (endret) Hvordan kan man definere en to dimensjonal liste med f.eks. 33 elementer i hver dimensjon? Ørjan... Endret 28. april 2005 av Orjanp Lenke til kommentar
Orjanp Skrevet 28. april 2005 Forfatter Del Skrevet 28. april 2005 Det kan gjøres på følgende måte. lst = [[0]*33]*33 Lenke til kommentar
zeitgeist Skrevet 28. april 2005 Del Skrevet 28. april 2005 (endret) Det kan gjøres på følgende måte. lst = [[0]*33]*33 Det er ikke sikkert du får det du vil ha her! Husk på dette med referanse... l = [[0]*5]*5 print l l[4][4] = 'siste element' print l [[0, 0, 0, 0, 'siste element'], [0, 0, 0, 0, 'siste element'], [0, 0, 0, 0, 'sis te element'], [0, 0, 0, 0, 'siste element'], [0, 0, 0, 0, 'siste element']] Mulig dette er det du ser etter? N = 5 fixedList = [[None] * N for x in range(N)] fixedList[4][4] = 'Siste Element' print fixedList [[None, None, None, None, None], [None, None, None, None, None], [None, None, No ne, None, None], [None, None, None, None, None], [None, None, None, None, 'Siste Element']] Tror det finnes en mer elegant måte å konstruere lista på, men... Endret 28. april 2005 av zeitgeist Lenke til kommentar
Orjanp Skrevet 28. april 2005 Forfatter Del Skrevet 28. april 2005 Du har helt rett. Det ble ikke riktig med min måte å lage tabellen på. Takk for tipset. Ørjan... Lenke til kommentar
zeitgeist Skrevet 28. april 2005 Del Skrevet 28. april 2005 Ja, det er fort gjort å bli bitt av den der. IPython 0.6.12 -- An enhanced Interactive Python. In [1]: a = [1,2,3] In [2]: b = a In [3]: b.append(4) In [4]: a In [5]: Out[4]: [1, 2, 3, 4] dette glemmer jeg rett som det er, men i Python er alt referanser, ikke kopier. Forresten - hvis det er tall du jobber med, så har du Array-modulen. Lenke til kommentar
zeitgeist Skrevet 29. april 2005 Del Skrevet 29. april 2005 Jeg kikket litt rundt etter dette. Det viser seg at col = 5 row = 5 MultiDimList = [[None] * col for x in range(row)] er et greit idiom, men at dette er mer leselig: c = 5 r = 5 MultiDimList = [[None for col in range(c)] for row in range(r)] fordi det er samme type konstruksjon Men - det øverste idiomet er omtrent dobbelt så raskt, så skal du jobbe med noen tusen tabeller så er det kanskje greit å ofre leseligheten ;-) Kilde: Python Cookbook 2.ed 4.5, s 155 Lenke til kommentar
Orjanp Skrevet 30. april 2005 Forfatter Del Skrevet 30. april 2005 (endret) Takk for informasjonen. Det er integer liste jeg skal jobbe med, så jeg skal ta en titt på array modulen. Skal generere fractalskyer. Ørjan... Endret 30. april 2005 av Orjanp Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå