#python #data-structures
#python #структуры данных
Вопрос:
Обычно мы вставляем новый элемент в массив, но как мы можем это сделать без функции вставки? Когда я пытаюсь выполнить код на python, он выдает так много ошибок, связанных с индексом массива
Комментарии:
1. Если у вас есть конкретный пример некоторого кода, который вы пробовали, и сообщение об ошибке, которое было показано, будет намного проще предоставить полезный ответ
2. Отредактируйте вопрос, чтобы показать проблему, с которой вы столкнулись, не помещайте код в комментарии.
3.
int main() { int arr[size] = {1, 20, 5, 78, 30}; int element, pos, i; printf("Enter position and elementn"); scanf("%d%d",amp;pos,amp;element); if(pos <= size amp;amp; pos >= 0) { for(i = size; i > pos; i--) arr[i] = arr[i-1]; arr[pos] = element; for(i = 0; i <= size; i ) printf("%d ", arr[i]); } else printf("Invalid Positionn"); return 0; }
4. @RR_S Это C, а не Python.
5. @RR_S это не python. Это похоже на C. В любом случае, не публикуйте код в комментариях. Отредактируйте свой вопрос, чтобы сделать его полным. Предполагая, что вы имеете в виду python, вам нужно будет уточнить, какие искусственные ограничения у вас есть, потому что мы не можем догадаться, что вы имеете в виду
Ответ №1:
Вы можете сделать это с помощью назначения фрагмента.
l.insert(i, new_element)
это можно сделать с помощью
l[i:i] = [new_element]
Комментарии:
1. Вы также можете добавить() новый элемент, а затем просеять его в правильное положение путем замены. Возможно, не так хорошо, как вам нужны
n = len - i
замены, но все же вариант.2. Да, @Masklinn ур прав, но я хочу сделать код без добавления и вставки функции… как мы можем это сделать?
3. Бармар показывает, как это сделать. Кажется довольно странным, хотя нет ситуации, когда у вас не будет append и insert .
4. Я подозреваю, что если OP не сможет использовать
l.insert(i, new_element)
, этоl[i:i] = [new_element]
будет соответствовать духу того, что они делают.5. @juanpa.arrivillaga Как вы думаете, что было бы в духе?