Вывести двумерный массив в Python с оператором if - PullRequest
0 голосов
/ 03 мая 2018

Я посмотрел другие посты в связи с этим. Однако все они, похоже, используют понимание списков, что не позволяет проверять каждый отдельный элемент массива 2d.

Я хочу напечатать двумерный массив, содержащий несколько строк и несколько целых. Поскольку я преобразую эти целые числа в восьмеричное представление, используя {:o}, я хочу иметь возможность проверить, является ли элемент массива целым или строковым, перед его печатью. Поскольку печать строки с {:o} выдает ошибку.

# Desired outcome:
[['s', 9], [0, 1]]

's' 11
 0   1

Помощь будет высоко ценится, так как я не могу понять, как это сделать.

1 Ответ

0 голосов
/ 03 мая 2018

Это сопоставляет правильный формат со значением в списке в соответствии с его типом (str или int).

values = [['s', 9], [0, 1]]

for pair in values:
    print(*map(lambda value: ('{:o}' if isinstance(value, int) else '{}').format(value), pair))

выход:

s 11
0 1

Вы можете добавить галочку, если хотите, с "'{}'" вместо '{}'.

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