Seite 1 von 1

Liste erstellen

Verfasst: Samstag 11. Dezember 2010, 11:32
von Miralem23
Hallo,

ich will in Python eine Liste erstellen, die folgenden Aufbau hat

liste = [[0,0], [0,1], [0,2],
[1,0], [1,1], [1,2],
[2,0], [2,1], [2,2]]

Ich hab bisher mit folgendem Code, das geschafft:

Code: Alles auswählen

liste = [[] for x in range(3)]

k = 0 # erstes Objekt in der Liste
m = 0 # zweites Objekt in der Liste
while k <= 2:
              liste[k].append(k)
              liste[k].append(m)   # liste =  [k,m]

              k += 1


print(liste)
>>> [[0, 0], [1, 0], [2, 0]

Also die erste Spalte, aber wie mache ich den Rest?
hab schon versucht in die While-Schleife das noch einzufügen:

liste[m].append(m)
liste[m].append(k)
m += 1

aber das Ergebnis ist nicht das was ich haben will :(

Re: Liste erstellen

Verfasst: Samstag 11. Dezember 2010, 11:36
von DaMutz
so zum Beispiel:

Code: Alles auswählen

>>>[[a,b] for a in range(3) for b in range(3)]
[[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
das heisst mit zwei verschachtelten for - Schleifen.

Re: Liste erstellen

Verfasst: Samstag 11. Dezember 2010, 11:41
von Miralem23
Super, besten Dank^^

PYthon gefällt mir immer besser und mehr =)

Re: Liste erstellen

Verfasst: Samstag 11. Dezember 2010, 12:33
von BlackJack
Alternative mit `itertools.product()`:

Code: Alles auswählen

In [62]: map(list, product(xrange(3), xrange(3)))
Out[62]: [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]