我已经查看过有关此事的其他帖子。但是,它们似乎都使用列表理解,因此不允许检查2d数组的每个单独元素。
我想打印一个二维数组,包含一些字符串和一些整数。由于我使用{:o}
将这些int转换为八进制表示,我希望能够在打印之前检查数组的元素是int还是字符串。由于打印带有{:o}
的字符串会引发错误。
# Desired outcome:
[['s', 9], [0, 1]]
's' 11
0 1
帮助将非常感激,因为我无法弄清楚如何做到这一点。
答案 0 :(得分:2)
根据其类型(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
如果需要,可以使用"'{}'"
代替'{}'
添加勾号。