Lord_of_Rings
@Lord_of_Rings
Python developer

Как вставить строку на индекс, вне зависимости от того существует он или нет?

Вообщем задача такая. Имеется список [1, 2] или [1, 2, 3] (точно мы не знаем). Вне зависимости от того какой вариант мы имеем, на 2 позицию (начиная с 0) надо вставить "Test".

То есть, если:
Вход [1, 2], то
Выход [1, 2, "Test"]

Вход [1, 2, 3], то
Выход [1, 2, "Test"]

Важное условие: это нужно реализовать максимум в 2 строки.
Может быть вопрос глупый, но я действительно не знаю как это сделать. :-)
  • Вопрос задан
  • 104 просмотра
Решения вопроса 3
AlexNest
@AlexNest Куратор тега Python
Работаю с Python/Django
Из условия четко следует, что в списке либо два, либо три элемента?
Если да, то пытаетесь изменить нужный элемент по индексу а если падает ошибка IndexError - добавляете значение в конец.
Если может быть любое количество - проверяете длину и и либо снова меняете элемент по индексу, либо добиваете в конец пока не получится список нужной длинны.
Ответ написан
Maksim_64
@Maksim_64
Data Analyst
def f(l):
    return l[:2]+['Test']+l[2+1:] if len(l) > 2 else l + ['Test']
Ответ написан
Комментировать
Vindicar
@Vindicar
RTFM!
l[2:] = ['Test']
Для двух-трёх строк сработает.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
otdameskapizm
@otdameskapizm
Помог ответ? Отметь решением...
Ну можно вот так примитивно, но тут все завязано на то, что будет точно либо 2 либо 3 значения в массиве
if(len(arr) > 2): arr[2] = 'Test'
else: arr.append('Test')
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы