Доступ к значениям в списке в Python - PullRequest
1 голос
/ 08 мая 2020

У меня есть список в таком виде

[(x1, y0, output), (x1, y1, output), (x1, y2, output), (x2, y0, output) , (x2, y1, вывод), (x2, y2, output)]

[(1, 0, 0), (1, 1, 1), (1, 2, 2), (2 , 0, 0), (2, 1, 2), (2, 2, 4)]

Я хотел бы получить ячейки в списке с определенным условием c.

Например,

  1. Мне нужны все ячейки, которые x = 1

    Надеюсь, результат будет: [(1, 0, 0), (1, 1, 1), (1, 2, 2)]

  2. Мне нужны все ячейки, которые x = 1, y = 2

    Я надеюсь, что результат : [(1, 2, 2)]

Как я могу это сделать?

import numpy as np

result = []
for x in np.arange(1, 3, 1):
    for y in np.arange(0, 3, 1):
        res = y * x
        res = (x, y, res)

        result.append(res)

print(result)

Ответы [ 2 ]

2 голосов
/ 08 мая 2020

Вы можете использовать для этого понимание списка. Например, с вашими данными.

>>>[x for x in result if x[0] == 1]
[(1, 0, 0), (1, 1, 1), (1, 2, 2)]
>>>[x for x in result if x[0] == 1 and x[1] == 2]
[(1, 2, 2)]
1 голос
/ 08 мая 2020

Попробуйте составить список:

listy = [(1, 0, 0), (1, 1, 1), (1, 2, 2), (2, 0, 0), (2, 1, 2), (2, 2, 4)]
list1 = [e for e in listy if e[0]==1]
list2 = [e for e in listy if e[0]==1 and e[1]==2]

Вы можете изменить условия, которые вы выбираете, в этой последней if части понимания списка.

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