Na przykład, powiedzmy listy L = [0,1,2,3]
i chcę dodać 10 elementów 4:Jak dodać, powiedzmy, n pozycji x do listy w jednym ujęciu?
L=[0,1,2,3,4,4,4,4,4,4,4,4,4,4]
bez konieczności użycia pętli lub cokolwiek
Na przykład, powiedzmy listy L = [0,1,2,3]
i chcę dodać 10 elementów 4:Jak dodać, powiedzmy, n pozycji x do listy w jednym ujęciu?
L=[0,1,2,3,4,4,4,4,4,4,4,4,4,4]
bez konieczności użycia pętli lub cokolwiek
Jest to bardzo proste dzięki temu możesz dodawanie i/lub wielokrotnie wymienia:
L += [4] * 10
Oto dowód:
>>> L = [0,1,2,3]
>>> L += [4] * 10
>>> L
[0, 1, 2, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4]
L.extend([4] * 10)
L.extend([some_mutable_object for x in range(10)])
Druga linia nie działa dla 'some_mutable_object', tylko dla' some_expression_that_returns_or_creates_a_mutable_object() '. W przeciwnym razie otrzymasz 10 referencji do tego samego obiektu. – Ben
Przepraszamy za rozmowę rewizyjną. Przypadkowo opublikowałem ten komentarz, zanim zamierzałem, więc wróciłem i skończyłem, ale już wtedy odpowiedziałeś na wstępną wersję. – Ben
@ user1123950, jeśli zamierzasz używać tego kodu do czegoś innego niż tylko ints lub floats (np. Listy, dyktury lub własne klasy), jest coś ** bardzo ważne **, które musisz znać: ' * 'operator wil utworzy listę ** tego samego obiektu ** powtórzoną n razy, więc jeśli zrobisz' L + = [MyClass()] * 10' wszystkie te elementy będą odwoływać się do tego samego obiektu, więc jeśli zmodyfikujesz jeden z one, będziesz modyfikował je wszystkie. – juliomalegria
@ julio.alegria: Całkowicie się z tym zgadzam. – Tadeck