2 3 4 1
4 1 2 3
in0 = [int(x) for x in input().split()] in1 = [] for x in in0: in1.append(in0[x]) Traceback (most recent call last): File "<stdin>", line 2, in <module> IndexError: list index out of range
2 3 4 1
4 1 2 3
in0 = [int(x) for x in input().split()] in1 = [] for x in in0: in1.append(in0[x]) Traceback (most recent call last): File "<stdin>", line 2, in <module> IndexError: list index out of range
gratianiвообще то индексы начинаются с нуля как видно на примере.
По всей видимости индексы должны начинаться с единицы
>>> in0 = [int(x) for x in input().split()] 2 3 4 1 >>> for x in range(len(in0)): print(x,end=' ') 0 1 2 3
in0 = [int(x) for x in input().split()] list_index = [x for x in range(len(in0))] print(list_index)
marvellikЯ знаю, что они с нуля начинаются. Как я понимаю, в данном примере отсчет начинается с единицы судя по задаче, потому-что если применять цикл, то он в итоге выходит за предел списка если его с нуля начинать, потому-что индекса 4 со сути нет уже в данном цикле.
вообще то индексы начинаются с нуля как видно на примере.
gratianiнет в первом списке элемента с индексом 4. что то тут не так. откуда задача?
Во второй строке отображаются индексы чисел из первой строки.
gratianiэто не js! посмотрите как работают циклы в пайтоне
for x in in0: in1.append(in0)
gratianiОтнимай от индексов единицу. Есть ещё такой способ, когда в начале добавляется незначащий элемент, чтобы индексы сместились. Но лучше всего правильно индексы указывать.
Как можно грамотно реализовать вывод второй строки?
in0 = int(input()) in1 = [int(x) for x in input().split()] in2 = [int(x) for x in range(1, len(in1)+1)] in3 = [] dict0 = {} for (k, v) in zip(in1, in2): dict0[k] = v in3 = list(dict0.values()) print(' '.join([str(x) for x in in3]))
gratianiни ключи ни значения с словарях не имеют никакого гарантированного порядка.
Значения в словарях упорядочиваются по ключам в том порядке, в каком необходимо.
import numpy as np idata=np.array("3 4 2 1".split(),dtype='i')-1 print(str(np.arange(len(idata))[idata]+1)[1:-1])
doza_andДа, но присваиваются они последовательно в данном случае. И для решения задачи подошло.
ни ключи ни значения с словарях никак не упорядочиваются.