在Python w / if语句中打印二维数组

时间:2018-05-03 15:11:19

标签: python arrays multidimensional-array printing

我已经查看过有关此事的其他帖子。但是,它们似乎都使用列表理解,因此不允许检查2d数组的每个单独元素。

我想打印一个二维数组,包含一些字符串和一些整数。由于我使用{:o}将这些int转换为八进制表示,我希望能够在打印之前检查数组的元素是int还是字符串。由于打印带有{:o}的字符串会引发错误。

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

's' 11
 0   1

帮助将非常感激,因为我无法弄清楚如何做到这一点。

1 个答案:

答案 0 :(得分:2)

根据其类型(strint)将正确的格式映射到列表中的值。

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

如果需要,可以使用"'{}'"代替'{}'添加勾号。