Как создать список из двух переменных? - PullRequest
0 голосов
/ 15 октября 2019

Я знаю, что в Python обычным способом создания 2d-списка является создание списка списков и доступ к элементу с помощью foo[3][2]. Однако при выполнении некоторых операций, необходимых для AES, было бы полезно использовать foo[-1][2], который был бы столбцом данных (-1 - это каждое значение).

Можно ли создать двумерный список в формате foo[3, 2] без объектно-ориентированных классов или нет? Примечание: единственный раз, когда я видел это, в библиотеке изображений PILLOW для Python, однако он использовался в классе, и я не знаю, как выделить то, что я хочу.

1 Ответ

0 голосов
/ 15 октября 2019

Для списков не существует волшебных «всех значений» ... но:

Вы можете написать такие вещи, как bar(foo[*]) как map(bar, foo) или [bar(x) for x in foo].

Например, foo[*][2] может быть [x[2] for x in foo].

Еще один вариант при попытке получить столбцы - это транспонировать результаты (хотя на этом этапе рассмотрите возможность использования numpy и др.). Вы можете сделать это с помощью list(zip(*foo)), как упомянуто @ gelonida.

Если вы хотите использовать классы или помощников, у вас есть много других вариантов получения желаемого синтаксического сахара.

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