我用Python创建了一个简单的3D数组,我需要将它打印成行。
apple=[[["SNo."],["Computers"],["Mobile"]],
[["1"],["iMac"],["iPhone"]],
[["2"],["Macbook"],["iPod"]]]
我希望它像下面这样打印:
SNo. Computers Mobile
1 iMac iPhone
2 Macbook iPod
发布于 2017-03-24 19:16:16
您可以使用以下命令来完成此操作:
for l in apple:
print(*[e[0] for e in l])
但坦率地说,由于最后的元素都是单元素列表,我认为您应该更改创建它的代码,使其从2D数组开始。那样一切都会变得更容易。
发布于 2017-03-24 19:14:33
在我看来,这些数据是2D的。如果您确实想打印3D数组,那么您可以避免自己编写任何循环,而使用numpy
import numpy as np
apple_np = np.array(apple)
print apple_np
然而,你的数据不是3D的,所以它不会像你想象的那样打印出来。您需要的是一个二维数组:
apple=[["SNo.", "Computers", "Mobile"],
["1", "iMac", "iPhone"],
["2", "Macbook", "iPod"]]
apple_np = np.array(apple)
print apple_np
如果你使用的是python 2.7,你可以使用下面的命令以一种很好的格式打印出表格:
width = max([len(el) for row in apple for el in row]) + 1
for row in apple:
for el in row:
print ("{:"+str(width)+"s}").format(el),
print ""
发布于 2017-03-24 19:36:12
它应该可以工作:
for i in apple:
for j in i:
helper.append(j)
counter = 0
assistant = []
for x in helper:
counter += 1
assistant.append(x[0])
if counter == 3:
print(" ".join(assistant))
counter = 0
assistant = []
https://stackoverflow.com/questions/42997674
复制相似问题