Python 如何按键排序词典并将其打印到表中
我在另一本字典里有一本字典,也就是说,我有一本库存字典(比如超市),里面有产品的字典(比如苹果),上面有它们的名称、数量等。我需要按键排序,然后打印成表格 现在我有,Python 如何按键排序词典并将其打印到表中,python,python-3.x,dictionary,key,Python,Python 3.x,Dictionary,Key,我在另一本字典里有一本字典,也就是说,我有一本库存字典(比如超市),里面有产品的字典(比如苹果),上面有它们的名称、数量等。我需要按键排序,然后打印成表格 现在我有, stock = load_stock_from_file() print("{0} | {1:<35} | {2:^11} | {3:^12} ".format("Ident", "Product", "Price", "Amount")) print("-" * 6 + "+" + "-"*37+"+"+"-"*13+"
stock = load_stock_from_file()
print("{0} | {1:<35} | {2:^11} | {3:^12} ".format("Ident", "Product", "Price", "Amount"))
print("-" * 6 + "+" + "-"*37+"+"+"-"*13+"+"+"-"*12)
for key in sorted(stock):
print("{name:<35} | {price:^11} | {amount:^12} ".format(**key))
我的钥匙是10000个数字,其余的都是那本字典的一部分
谢谢 该错误表示您的键变量是str。我想您需要格式化值而不是元素。你可以试试:
for key in sorted(stock):
print("{name:<35} | {price:^11} | {amount:^12} ".format(**stock[key]))
对于已排序的输入(库存):
print(“{name:您正在将键(一个字符串)传递给format方法,在这种情况下,由于双星的存在,该方法需要一个字典。您只需在循环中用库存[key]
替换键
这里还可以使用string方法,这样就不需要用双星来解包字典
for key in sorted(stock):
print(key, end=' ')
print("{name:<35} | {price:^11} | {amount:^12} ".format_map(stock[key]))
对于已排序的输入(库存):
打印(键,结束=“”)
打印(“{名称:
for key in sorted(stock):
print(key, end=' ')
print("{name:<35} | {price:^11} | {amount:^12} ".format_map(stock[key]))
for ident, dicti in sorted(stock.items(), key=lambda item: item[1]['price']):
print(ident, end=' ')
print("{name:<35} | {price:^11} | {amount:^12} ".format_map(dicti))