Несколько списков Индивидуальное приложение - PullRequest
0 голосов
/ 07 ноября 2019

Кто-нибудь знает, есть ли способ сделать что-то подобное?:

def function(a, b, z):
    code
    return x, y, z

X, Y, Z = [] for i in range(3)
for a in range(rows):
    for b in range(cols):
         X.append(), Y.append(), Z.append() = function(a, b, z)

, чтобы на каждой итерации каждое соответствующее значение попадало в соответствующий список

1 Ответ

0 голосов
/ 07 ноября 2019

Нет;сначала нужно распаковать возвращаемое значение, а затем передать каждое значение соответствующей функции.

v1, v2, v3 = function(a, b, z)
X.append(v1)
Y.append(v2)
Z.append(v3)

Кстати, X, Y, Z = [] for i in range(3) не является допустимым синтаксисом. Просто напишите

X = []
Y = []
Z = []

Вы можете рассмотреть список (или дикт) списков вместо отдельных имен X, Y и Z.

results = [[], [], []]
for a in range(rows):
    for b in range(cols):
        vs = function(a, b, z)
        for lst, v in zip(results, vs):
            lst.append(v)

, но длятолько 3 списка, я не думаю, что это принесет вам много пользы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...