Я использую Python 2.7.x
Transform вложенную операцию списка в выражение список понимания
Моя проблема:
У меня есть список списков, как показано ниже:
a = [[1,3,2,8],[2,1,4,5],[3,2,4],[4,2,3,5]]
Теперь для всех элементов со значением say 2, я хочу изменить их на 9, за исключением первого значения каждого подсписок. То есть:
for sublist in a:
for i in range(1, len(sublist)):
if sublist[i] == 2:
sublist[i] = 9
Так что теперь
a = [[1,3,9,8],[2,1,4,5],[3,9,4],[4,9,3,5]]
Так или иначе, я не могу поставить этот код в режиме списка понимания.
Почему вы хотите этого? Ваш код в порядке. Понимание воссоздает всю структуру - довольно пустая память, если вам нужно всего лишь заменить несколько цифр. – georg
Перечисление списков в python красиво и полезно только при удобном использовании. Не существует правила, согласно которому каждая маленькая петля должна быть преобразована в понимание. В коде нет ничего плохого. –