Python: Wie kann ich Strings in einer Liste, die wiederum in einer Liste ist, leicht generieren?

1 Antwort

so funktioniert es irgendwie nicht

Klar funktioniert das. Aber du musst bedenken, dass du hier dieselben Listen mehrfach einfügst, was dann zu überraschenden Effekten führen kann.

>>> feld = [[""]*3]*3
>>> feld
[['', '', ''], ['', '', ''], ['', '', '']]
>>> feld[0][0] = "hello"
>>> feld
[['hello', '', ''], ['hello', '', ''], ['hello', '', '']]
>>>

Ein möglicher Ansatz wäre:

>>> feld = [['', '', ''] for _ in range(3)]
>>> feld
[['', '', ''], ['', '', ''], ['', '', '']]

Du kannst die List Comprehensions natürlich auch schachteln.

>>> feld = [['' for _ in range(3)] for _ in range(3)]
>>> feld
[['', '', ''], ['', '', ''], ['', '', '']]
Michi123170 
Fragesteller
 06.11.2023, 17:15

perfekt danke

0