Chcę zainicjować listę w python. Nie rozumiem dlaczego poniższy kod nie działa:inicjowanie członków listy
u = ['abc', 'de', 'fghi', 'jklm', 'n', '']
for item in u:
item = len(item)
Istnieją inne sposoby, aby zainicjować listy, jak:
u = [len(item) for item in u]
Ale moje pytanie jest dlaczego pierwszy kod nie działa.
Edytuj: Jestem początkującym w Pythonie i programowaniu. Niestety nie rozumiem niektórych części twoich odpowiedzi. Na przykład:
- ponownego wiązania w „ponownego wiązania nazwa item
do długości nazwy item
”
- iteratora w „pozycji” jest tymczasowa zmienna, która wskazuje na element u
na podstawie gdzie (implicite) iterator wskazuje
o ile rozumiem, mój drugi przykład tworzy new_list
w pamięci i przypisuje wartości new_list
do u
. Bez względu na poprzednie wartości. Ale chcę wiedzieć, w jaki sposób mogę zmienić wartości na pierwszej liście. Dzięki
element jest ciągiem w pierwszym przypadku, ponieważ elementy listy u są ciągami. Można wywołać len() na łańcuchach. –
Tak, poprawiłem swoją odpowiedź. –