AD0DE412
a = [[2,4,2,4,5,"FF"],[3,2,"D",1,5]]
y = 3
b = [j[y - i:] for i, j in enumerate(a)]
Вот его код
vitz
a = [[2,4,2,4,5,"FF"],[3,2,"D",1,5]] # список
b = [3,2] #
Я так понял, что вот этот список b у него может меняться. Там не всегда 3 и 2. Там может быть, допустим, 4 и 8 или 3 и 0.
Поэтому у тебя вот этот код сломается, если там будет не 3 и 2.
А теперь посмотрим на мой код
>>> a = [[2, 4, 2, 4, 5, "FF"], [3, 2, "D", 1, 5]]
>>> b = [4, 8]
>>>
>>> out = [i[j:] for i, j in zip(a, b)]
>>> out
[[5, 'FF'], []]
>>>
>>>
>>> a = [[2, 4, 2, 4, 5, "FF"], [3, 2, "D", 1, 5]]
>>> b = [3, 0]
>>>
>>> out = [i[j:] for i, j in zip(a, b)]
>>> out
[[4, 5, 'FF'], [3, 2, 'D', 1, 5]]
>>>
Как видим, ему всё равно, что там в этом списке, он правильно срабатывает в каждом случае.
Если брать код
xam1816'а, то для двух элементов это сработает, а для тысячи элементов это сработает? Они просто будут приходить в потоке откуда-то там, из файла или из сети или из динамической базы данных. Каждый раз руками ты не понабираешь их индексы и никогда не угадаешь, сколько их там будет. Поэтому тут нужен цикл какой-то, включение там или просто прямой цикл.