簡體   English   中英

如何在Python中打印字典

[英]How to Print Dictionaries In Python

import operator
pay = {}
lowestPay={}
averagePay={}
pay["Developers"]=[35,22,18,36]
pay["Designers"]=[25,65,24,45]
pay["Testers"]=[34,52,12,32]
userInput=int(input("How would you like the menu to be sorted?\n1 for Dictionary keys sorted in alphabetical order\n2 for Sort each list of employee’s pay rates from highest to lowest\n3 for Lowest pay level in each list sorted from highest to lowest\n4 for Average pay per department sorted from highest to lowest"))
if userInput == 1:
    for key,value in pay.items():
        sortedDictionary = sorted(pay)
    print (sortedDictionary)
if userInput == 2:
    for key,value in pay.items():
        value.sort()
        value.reverse()
        print(key,value)
if userInput == 3:
    for key,value in pay.items():
        value.sort()
        lowestPay [key]=value.pop()
        lowestPaySorted = sorted(pay.items(),key=operator.itemgetter(1),reverse=True)
    print (lowestPay)
if userInput == 4:
    for key,value in pay.items():
        average = sum(value)/len(value)
        averagePay [key]=(average)
        averagePaySorted = sorted(averagePay.items(),key=operator.itemgetter(1),reverse=True)
    for keys in averagePaySorted:
        print (keys)
        for value in averagePaySorted[keys]:
            print (value,':',cars[keys][value])

上面我有用於排序列表的程序。 我需要打印字典averagePaySorted 我對此很陌生,所以我不確定該怎么做,因為您可以看到嘗試從其他頁面打印此錯誤,但出現此錯誤:

  ... line 33, in <module>
    for value in averagePaySorted[keys]:
TypeError: list indices must be integers, not tuple

我不知道那意味着我需要它看起來像這樣

B
color : 3
speed : 60
A
color : 2
speed : 70

但這是從另一個論壇上采取的,以節省時間

要打印字典,請查看pprint 例如,

print pformat(averagePaySorted)

或者,一個更完整的示例:

from pprint import pformat
mydict = {'a': 1, 'b': 2, c: [4, 5, 6]}
print pformat(mydict)

  1. pprint處理嵌套,並且
  2. 提供高級選項。

例如,

print pformat(mydict, width=1)

產生:

{'a': 1,
 'b': 2,
 'c': [4,
       5,
       6]}

您遇到的問題是因為這種情況下的鍵是一個元組(鍵,值)

要打印此圖像,請使用類似於

for key,value in list:
  print key, ':', value

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM