Jestem nowy w Pythonie i nie mogę znaleźć sposobu na wstawienie ciągu do listy bez podzielenia go na pojedyncze znaki:
>>> list=['hello','world']
>>> list
['hello', 'world']
>>> list[:0]='foo'
>>> list
['f', 'o', 'o', 'hello', 'world']
Co powinienem zrobić, aby mieć:
['foo', 'hello', 'world']
Przeszukałem dokumenty i internet, ale to nie był mój dzień.
list2 = list1.append('foo')
lublist2 = list1.insert(0, 'foo')
spowodujelist2
uzyskanie wartości Brak. Obie metodyappend
iinsert
są metodami, które modyfikują listę, na której są używane, zamiast zwracać nową listę.Trzymając się metody, której używasz do włożenia, użyj
http://docs.python.org/release/2.6.6/library/stdtypes.html#mutable-sequence-types
źródło
Inną opcją jest użycie przeciążonego
+ operator
:źródło
l += ['foo']
najlepiej umieścić nawiasy wokół foo i użyć + =
źródło
źródło
Nie używaj listy jako nazwy zmiennej. Jest to wbudowane, które maskujesz.
Aby wstawić, użyj funkcji wstawiania list.
źródło
insert()
przyjmuje drugi argument.Musisz dodać kolejną listę:
źródło
lub (użyj
insert
funkcji, w której możesz użyć pozycji indeksu na liście)źródło
Proponuję dodać operator „+” w następujący sposób:
list = lista + ['foo']
Mam nadzieję, że to pomoże!
źródło