다른 사전 안에 사전이 있습니다. 즉, 이름, 수량 등이있는 제품 (사과 등)의 사전이 포함 된 재고 사전 (슈퍼마켓과 같은)이 있습니다. 키별로 정렬하고 표로 인쇄해야합니다. .
현재 나는
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))
이것은 내가 원하는 (아래)이지만 'TypeError : format () argument after ** must be a mapping, not str'오류가 발생합니다.
Ident | Product | Price | Amount
-------+-------------------------------------+-----------+-------------
10000 | Granny Smith Apples Loose | 0.32 £ | 6 pieces
10001 | Watermelon Fingers 90G | 0.50 £ | 17 pieces
10002 | Mango And Pineapple Fingers 80G | 0.50 £ | 2 pieces
10003 | Melon Finger Tray 80G | 0.50 £ | 10 pieces
10004 | Bananas Loose | 0.68 £ | 2.2 kg
10005 | Conference Pears Loose | 2.00 £ | 1.6 kg
내 키는 10000 개의 숫자이고 나머지는 해당 사전의 일부입니다.
감사.
이 오류는 키 변수가 str임을 나타냅니다. 요소 대신 값을 형식화해야한다고 생각합니다. 시도해 볼 수 있습니다.
for key in sorted(stock):
print("{name:<35} | {price:^11} | {amount:^12} ".format(**stock[key]))
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다