Понимание нескольких списков Python - PullRequest
0 голосов
/ 25 апреля 2018
def test():
    return 1,2

a, b = [test() for _ in range(5)]

Как мне получить a=[1,1,1,1,1] и b=[2,2,2,2,2], используя понимание списка?

1 Ответ

0 голосов
/ 25 апреля 2018

zip() является ключом к этому как:

Код:

a, b = [list(x) for x in zip(*[test() for _ in range(5)])]

Код теста:

def test():
    return 1, 2

a, b = [list(x) for x in zip(*[test() for _ in range(5)])]
print(a, b)

Результаты:

[1, 1, 1, 1, 1] [2, 2, 2, 2, 2]
...