Czy to możliwe bez pętli zainicjować wszystkie wartości list do jakiegoś bool? Na przykład chcę mieć listę N elementów wszystkie Fałsz.Inicjalizuj listę z taką samą wartością boolową
27
A
Odpowiedz
75
Można zrobić to w ten sposób: -
>>> [False] * 10
[False, False, False, False, False, False, False, False, False, False]
UWAGA: - pamiętać, że nigdy nie powinno się to zrobić z list
z mutable types
z tej samej wartości, jeszcze widać zaskakujące zachowanie podobnie do jeden w poniższym przykładzie: -
>>> my_list = [[10]] * 3
>>> my_list
[[10], [10], [10]]
>>> my_list[0][0] = 5
>>> my_list
[[5], [5], [5]]
Jak widać, zmiany wprowadzone na jednej wewnętrznej liście znajdują odzwierciedlenie we wszystkich z nich.
9
my_list = [False for i in range(n)]
Pozwoli to na zmianę poszczególnych elementów, ponieważ niezależnie buduje każdy element.
Chociaż technicznie jest to , to jest to pętla o numerze.
3
Gdy miejsce ma znaczenie, lepszym wyborem jest bytearray
. Jest to około pięć razy więcej miejsca niż lista rozwiązań boolowskich.
Stwarza to szereg N
wartości, zerowany:
B = bytearray(N)
Powiązane problemy
- 1. D3.js wiele osi Y z taką samą pozycją tyknięć?
- 2. Python Mechanize: jak wybrać listę rozwijaną, gdy dwa mają taką samą nazwę na stronie internetowej?
- 3. Inicjalizuj listę z jednym obiektem i inną listą obiektów.
- 4. SQLite wstawiając wartość boolową
- 5. CWprowadä: wiele podprojekty stosując taką samą statyczną bibliotekę
- 6. Każdy element mają taką samą szerokość jak najszerszego elementu
- 7. Jak wywołać konstruktora jeśli funkcja ma taką samą nazwę
- 8. Jak zachować szerokość piksela QPen taką samą przy powiększaniu QGraphicsView
- 9. AngularJS - Czy moduł i dyrektywa mają taką samą nazwę?
- 10. Czy .Net Core generuje taką samą IL jako standardową .Net?
- 11. sprawdzanie, czy cztery zmienne binarne mają taką samą wartość, nieoczywistą?
- 12. Dlaczego podział na `(?! ^)` I `(? <! ^)` Dają taką samą odpowiedź?
- 13. Jak wymusić, aby elementy listy zagnieżdżonej miały taką samą szerokość jak element listy nadrzędnej?
- 14. C++ to .h zawiera .cpp z taką samą nazwą jak również?
- 15. CarrierWave: Stwórz taką samą, unikalną nazwę dla wszystkich plików z wersjami
- 16. Czy `std :: shuffle` gwarantuje taką samą kolejność z tym samym materiałem siewnym na różnych wektorach?
- 17. Inicjalizuj kolejne seqy
- 18. Inicjalizuj std :: tablica krotek z nawiasami klamrowymi
- 19. Przesyłaj/inicjalizuj podmodele modelu szkieletowego
- 20. wstaw element do listy i zwróć tę samą listę zaktualizowaną
- 21. Zamówienie LINQ. Czy zawsze zwraca tę samą uporządkowaną listę?
- 22. Jak mogę sprawdzić w gdb zmienną, która ma taką samą nazwę jak jej typ
- 23. Czy można uzyskać wartość TComboBoxEx na taką samą wysokość jak TComboBox?
- 24. Jak grupować wiersze mysql z tą samą wartością kolumny w jednym wierszu?
- 25. Zawsze możliwe do zaobserwowania zdarzenie z tą samą wartością w Knockout.js bez wartości ValueHasMutated
- 26. NHibernate DuplicateMappingException gdy dwie klasy mają taką samą nazwę, ale różne przestrzenie nazw
- 27. Jak ustawić wszystkie elementy tablicy na zero lub dowolną taką samą wartość?
- 28. Twórz dwa divy obok siebie, jeden jest skalowalny, a drugi ma taką samą wysokość.
- 29. Wiele połączeń do AlarmManager.setRepeating dostarczyć taką samą Intent/PendingIntent dodatkowych wartości, ale te dostarczane różne
- 30. Jak używać NSXMLParser do parsowania elementów nadrzędny-podrzędny, które mają taką samą nazwę?
to absolutnie prawidłowe idiom tego problemu. Jednak jest to absolutnie niepoprawny idiom, który można użyć, gdy mamy do czynienia z zmiennym typem: '[[]] * 10' ma zaskakujące konsekwencje dla nowych graczy :). – mgilson