Подтвердить что ты не робот

Python: список списка списков списков

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

Итак, у меня

x = [[1,2,3],[4,5,6],[7,8,9]]
[number+1 for group in x for number in group]
[2, 3, 4, 5, 6, 7, 8, 9, 10]

Но я хочу получить

[[2, 3, 4], [5, 6, 7], [8, 9, 10]]

Как мне это сделать?

4b9b3361

Ответ 1

Используйте это:

[[number+1 for number in group] for group in x]

Или используйте это, если вы знаете карту:

[map(lambda x:x+1 ,group) for group in x]

Ответ 2

вы можете использовать numpy, как показано ниже,

import numpy
x = [[1,2,3],[4,5,6],[7,8,9]]
xx = numpy.array(x)
print  (xx + 1).tolist()

Ответ 3

lista = [[i+3*(j-1) for i in range(1,4)] for j in range(1,4)]

print(lista)
# outputs [[1, 2, 3], [4, 5, 6], [7, 8, 9]]