W przeciwieństwie do innych języków, można bezpośrednio wprowadzić wartość do określonego indeksu w pliku array
zamiast używać append
.
Dawny:
arr[10] = 100
Odpowiedzi:
1 dla odpowiedzi № 1Listy mają metodę wstawiania:
Wstaw element na danej pozycji. Pierwszym argumentem jest indeks elementu, przed którym należy wstawić tzw
a.insert(0, x)
wstawia z przodu listy ia.insert(len(a), x)
jest równaa.append(x)
.
Który wstawia element do określonej pozycji i wypycha każdy inny element w tablicy z powrotem o jeden indeks:
>>> arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
>>> arr.insert(10, 100)
>>> arr
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 100, 10, 11]
Jeśli określony indeks przekroczy liczbę elementów w tablicy, dopisuje się na końcu:
>>> arr.insert(400, 100)
>>> arr
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 100, 10, 11, 100]
Lub jeśli chcesz zmodyfikować element w już istniejącym indeksie na liście, użyj odpowiedzi Christiana.
0 dla odpowiedzi nr 2
Nie nazywaj ich tablicami. Są lists
lub tuples
(niezmienny). Odpowiadając na pytanie, tak, jest możliwe, jeśli najpierw masz listę długości 11
lub więcej w twoim przypadku.
Przykład:
my_list = [0, 0, 0, 0]
my_list[2] = 10
print my_list
>>> [0, 0, 10, 0]
my_list[5] = 10 # will raise an IndexError because `5` is not a valid index.
# Valid indexes in this case would be: 0, 1, 2, 3
0 dla odpowiedzi № 3
W python
, array
zwykle oznacza numpy
array
In [40]:
import numpy as np
a=np.arange(10)
In [41]:
np.insert(a, 7, 90)
Out[41]:
array([ 0, 1, 2, 3, 4, 5, 6, 90, 7, 8, 9])