Python - 在列中打印二维数组

标签 python arrays loops printing dimensions

第一次来。
我之前自己做了一些搜索 但是,发布问题
我找不到确切的答案。
我以前在 C/C++ 中做过这样的事情,但在这里我有点困惑。

我想打印这个:

table = [ ['A','B','C','D'], ['E','F','G','H'], ['I','J','K','L'] ]

这样:

'A'   'E'   'I'  
'B'   'F'   'J'  
'C'   'G'   'K'  
'D'   'H'   'L'  

自动循环。
第一行中每个表的第一个变量,第二行中的第二个变量,依此类推...
我尝试使用 2 个 for 循环,但我做错了,因为我用完了索引。

编辑 - 这部分已解决,但还有一个问题

我有:

tableData = [ ['apple', 'orange', 'cherry', 'banana'],  
              ['John', 'Joanna', 'Sam', 'David'],  
              ['dog', 'cat', 'mouse', 'rat'] ]  

它必须看起来像这样:

|   apple   |  John  |  dog  |  
|   orange  | Joanna |  cat  |
|  cherry   |  Sam   | mouse |
|  banana   | David  |  rat  |  

“函数应该能够管理不同长度的列表和
计算一个字符串需要多少空间(每列分别计算)。
每个字符串都必须在其列中居中。

我试图打印具有压缩对象的上一个表

for row in zip(*table):
    print('| ', ' | '.join(row), ' |')  

|  A | E | I  |
|  B | F | J  |
|  C | G | K  |
|  D | H | L  |  

但我不知道在这种情况下接下来会发生什么

最佳答案

您可以 zip() , str.join()打印:

In [1]: table = [ ['A','B','C','D'], ['E','F','G','H'], ['I','J','K','L'] ]

In [2]: for row in zip(*table):
   ...:     print(" ".join(row))
   ...:     
A E I
B F J
C G K
D H L

或者,使用换行符连接行的单行版本:

>>> print("\n".join(" ".join(row) for row in zip(*table)))
A E I
B F J
C G K
D H L

关于Python - 在列中打印二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41527565/

相关文章:

python - 如何可视化用于 kmeans 聚类的 tf-idf 向量的数据点?

c++ - 可调整大小的数组和分摊运行时

r - 具有挑战性的回归也许可以用循环和 F-stat 来实现

javascript - 在 const 对象中循环

python - Python-二等分方法使整个应用程序崩溃

python - pandas 将列文本拆分为多列

javascript - 检查对象javascript中是否存在键

python - 如何删除列表中特定字符之后的所有字符

python - 特定路由的 Flask 中间件

java - 如何为长度等于该数字位数的数字的数字数组 (int) 分配内存?