Одно решение, более эффективное, чем ваше, поскольку оно использует неявные циклы:
>>> [m1 for m1, _ in M]
>>> [1, 2, 3, 4]
>>> [m2 for _, m2 in M]
>>> [100, 200, 300, 400]
Но лучше использовать оператор *
и zip
:
>>> M1, M2 = zip(*M)
>>> M1
(1, 2, 3, 4)
>>> M2
(100, 200, 300, 400)