Мое название, вероятно, невероятно запутанно, поэтому я просто приведу пример. Для следующего списка:Создать список из определенного элемента подписок
x = [ [1,2,3], [4,5,6], [7,8,9] ]
Итак, если вы хотите от индекса один результирующий список будет:
[2,5,8]
Есть короткий способ сделать это? Очевидно, вы можете проходить через внешний список и просто захватывать каждый элемент индекса 1, но есть ли какой-либо простой способ сделать это в одной строке, например, с помощью нотации slce?
Я знаю, что это возможно сделать это в одной строке с чем-то вроде:
list(map(lambda f : f[1], x))
Но это именно то, что я описал выше (только с помощью неявного цикла).
Если это помогает, можно с уверенностью предположить, что все элементы будут индексируемыми.
Вы знаете, что даже в срезах есть неявный цикл :) –
Так ** ** почему вы хотите сделать это без (явный или неявный) цикл? И как это должно быть возможно - машина должна перебирать последовательность в той или иной точке, чтобы сделать это. –
Я не сказал, что хотел это сделать. Это так же, как я сказал - «есть ли способ». Мне было любопытно, поэтому я спросил. – Kevin