/ / Wprowadź dane do określonej pozycji za pomocą indeksu w tablicy [zamknięte] - python

Wprowadź do określonej pozycji przy użyciu indeksu w tablicy [closed] - python

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 № 1

Listy mają metodę wstawiania:

list.insert (i, x)

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 i a.insert(len(a), x) jest równa a.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])