将Python 3.6.5列表转换为表

将Python 3.6.5列表转换为表,python,python-3.x,Python,Python 3.x,我目前正在从事一个项目,我需要帮助将列表转换为表。我已经想出了一个办法,但必须有一个更短和更干净的方法来做这件事,我有一个困难的想法。我的编码如下(我需要帮助的部分在**的底部) def main(): #为销售人员创建一个列表 销售人员列表=输入销售人员() 销售金额列表=输入销售金额(销售人员列表) 显示SalesReport(销售人员列表、销售金额列表) #为销售人员创建一个列表 def InputSalesopers(): 销售人员名单=[] 计数=0 当计数小于5时: 姓名=输入(“销

我目前正在从事一个项目,我需要帮助将列表转换为表。我已经想出了一个办法,但必须有一个更短和更干净的方法来做这件事,我有一个困难的想法。我的编码如下(我需要帮助的部分在**的底部)

def main():
#为销售人员创建一个列表
销售人员列表=输入销售人员()
销售金额列表=输入销售金额(销售人员列表)
显示SalesReport(销售人员列表、销售金额列表)
#为销售人员创建一个列表
def InputSalesopers():
销售人员名单=[]
计数=0
当计数小于5时:
姓名=输入(“销售人员的姓名:”)
计数+=1
销售人员名单。附加(姓名)
打印(销售人员名单)
退货销售人员名单
def输入销售金额(销售人员列表):
销售金额清单=[]
索引=0
而指数
这将显示一个具有正确值的正确表格,但正如您所看到的,它有点长而且不干净。我怎样才能缩短它?谢谢你的帮助

试试这个:

def displaySalesReport(sales_persons_list, sales_amounts_list):
    Total_Sales = sum(sales_amounts_list)
    print("%-15s %-15s" %("Salespeople","Sales Amount"))
    for s_person, s_amount in zip(sales_persons_list, sales_amounts_list):
        print("%-15s %-15s" % (s_person, s_amount))
    print("%-15s %-15s" %("Totals", Total_Sales))
这是代码的简化版本,您也可以使用Python Pandas创建表,Pandas最适合表格形式的数据,但它提供的功能远远超出您的需要:

import pandas as pd

data = {'Salespeople': sales_persons_list, 'Sales Amount': sales_amounts_list}
df = pd.DataFrame.from_dict(data)
df.append({'Sales Amount': Total}, index="Total")
print(df)

我的代码是伪代码,您必须修改它以满足您的需要。

尝试使用许多流行的软件包之一来打印表格o/p。我的建议是使用
表格

from tabulate import tabulate
sales_persons_list = list('ABCDE')
sales_amounts_list = list('12345')
print (tabulate(zip(sales_persons_list, sales_amounts_list), tablefmt="plain"))
输出

A  1
B  2
C  3
D  4
E  5

此代码输出等于您的代码输出:)

将列表显示为表代码:

print("%-15s %-15s" %("Salespeople","Sales Amount"))
for i in range(len(sales_amounts_list)):
    print("%-15s %-15s"%(sales_persons_list[i],sales_amounts_list[i]))
print("%-15s %-15s" %("Totals", sum(sales_amounts_list)))
输出
for循环有什么问题?您可能需要检查此类问题。
sales_persons_list = [input('What is the name of the sales person?: ') for i in range(5)]
print(sales_persons_list)
sales_amounts_list = [
    float(input('How much did {} make in sales?:'.format(sales_persons_list[i]))) for i in range(len(sales_persons_list))]
print(sales_amounts_list)
print("%-15s %-15s" %("Salespeople","Sales Amount"))
for i in range(len(sales_amounts_list)):
    print("%-15s %-15s" %(sales_persons_list[i],sales_amounts_list[i]))
print("%-15s %-15s" %("Totals", sum(sales_amounts_list)))
print("%-15s %-15s" %("Salespeople","Sales Amount"))
for i in range(len(sales_amounts_list)):
    print("%-15s %-15s"%(sales_persons_list[i],sales_amounts_list[i]))
print("%-15s %-15s" %("Totals", sum(sales_amounts_list)))
Salespeople     Sales Amount
a               1222.0
aa              1111.0
aaa             2222.0
aaaaa           3333.0
aaaaaa          1133.0
Totals          9021.0