Вложенные списки и списки

Я довольно новичок в Python, и мне трудно понять, как применить понимание списка к части вложенного списка (в частности, на уровне индекса).

Например, если у меня есть следующее:

my_list = [[1,2], [3,7], [6,9], [4,3]] new_list = [[i*2 for i in sublist] for sublist in my_list] 

Как я могу изменить свое понимание списка, чтобы применить операцию только к индексу 1 каждого подсписника? Я довольно много экспериментировал без успеха.

3 Solutions collect form web for “Вложенные списки и списки”

Более общая версия mac :

 >>> my_list = [[1,2], [3,7], [6,9], [4,3]] >>> new_list = [[v*2 if i==0 else v for i,v in enumerate(sublist)] for sublist in my_list] >>> new_list [[2, 2], [6, 7], [12, 9], [8, 3]] 

Вы ищете это?

 >>> my_list = [[1,2], [3,7], [6,9], [4,3]] >>> [[sublist[0] * 2, sublist[1]] for sublist in my_list] [[2, 2], [6, 7], [12, 9], [8, 3]] 

EDIT: Вышеупомянутое решение не будет хорошо масштабироваться, если у вас есть подсписок из многих элементов. Если это так, альтернативой может быть использование сопоставления:

 >>> my_list = [[1,2], [3,7], [6,9], [4,3]] >>> def double_first(list_): ... list_[0] *= 2 ... return list_ ... >>> map(double_first, my_list) [[2, 2], [6, 7], [12, 9], [8, 3]] 

EDIT2: решение в моем первом редактировании позволяет реализовать любой тип манипуляций в подсписках, но если операция является базовой и зависит только от индекса подписок, решение Дэна будет работать быстрее.

НТН!

Вы имеете в виду что-то вроде этого:

 my_list = [[1,2], [3,7], [6,9], [4,3]] new_list = [sublist[0]*2 for sublist in my_list] Output: new_list == [2, 6, 12, 8] 

кроме того, вы забыли поместить запятые между своими подсписками (Исправлено в моем ответе)

Я предполагаю, что под индексом 1 вы понимаете первый элемент.
Если вы действительно имеете в виду второй элемент (который является индексом 1), вы будете использовать sublist[1] вместо sublist[0] .

  • Добавление словаря в список в aa loop Python
  • Изменение списка в python путем передачи его функции
  • Почему сортировка списка не работает в этой ситуации?
  • Как читать текстовый файл в список или массив с помощью Python
  • Как создать двух циклов для представления в python
  • Можно ли превратить список в вложенный ключ ключей * без * рекурсии?
  • Количество способов разбиения числа на Python
  • Python: разделение списка на под-списки на основе диапазонов индексов
  • Как инициализировать словарь пустых списков в Python?
  • Сортировка списка по частоте появления в списке
  • Подсчет количества вхождений в списке кортежей
  • Python - лучший язык программирования в мире.