как добавить все последующие элемента списка в новый список?

a = ['on', 'the', 'other', 'hand', 'nowadays', 'there', 'are', 'a', 'lot', 'of', 'jobs', 'which', 'do', 'not', 'require', 'a', 'university', 'degree']

b = "there"

new_list = ['there', 'are', 'a', 'lot', 'of', 'jobs', 'which', 'do', 'not', 'require', 'a', 'university', 'degree']

Ответы (1 шт):

Автор решения: Антон

Как уже написали в комменте к вашему вопросу, существует index, возвращающий позицию первого совпадения(в списке элементы 'there' могут повторяться). Если совпадения не найдено, возникает ValueError. Далее воспользуемся "срезом", т.е. [x:] - с позиции x и до конца списка, т.к параметр после : пропущен. В итоге получаем:

new_list = a[a.index(b):]

Обращаю внимание, что срез возвращает новый список, т.е. манипуляции над a и new_list не влияют друг на друга. Такого эффекта можно добиться еще вот таким образом:

my_list = [1, 2, 3]
independent_list = list(my_list)

Так мы кладем в переменную independent_list - копию, а не ссылку.

→ Ссылка