所以,我对编程还是有点陌生,我正在尝试在 Python 中格式化一些数组的输出。我发现很难理解格式化的某些方面。 我有一些想要以表格格式打印的数组。
headings = ["Name", "Age", "Favourite Colour"]
names = ["Barry", "Eustace", "Clarence", "Razputin", "Harvey"]
age = [39, 83, 90, 15, 23]
favouriteColour = ["Green", "Baby Pink", "Sky Blue", "Orange", "Crimson"]
我希望输出如下所示:(其中列宽度略大于该列中的最大长度)
Name Age Favourite Colour
Barry 39 Green
Eustace 83 Baby Pink
Clarence 90 Sky Blue
Razputin 15 Orange
Harvey 23 Crimson
我尝试这样做:
mergeArr = [headings, name, age, favouriteColour]
但是(我认为)这不会在正确的位置打印标题?
我尝试过这个:
mergeArr = [name, age, favouriteColour]
col_width = max(len(str(element)) for row in merge for element in row) + 2
for row in merge:
print ("".join(str(element).ljust(col_width) for element in row))
但是这会按列而不是按行打印每个对象的数据。
感谢帮助!谢谢。
最佳答案
您可以单独打印标题(包含姓名、年龄、最喜欢的颜色的标题)。
然后你使用你拥有的代码,但是:
rows = zip(name, age, favouriteColour)
for row in rows...
您还可以查看 tabulate
包以获取格式良好的表格。
关于python - 将 Python 输出格式化为行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41968339/