這裏是我的字典:獲得一個值的特定部分出一本字典值
article_names = {'AppliedEthics': (14, ['Ngaiklin', 'ip:pD950754B.dip.t-dialin.net']),
'Anarchism': (406, ['Bobdobbs1723', 'Brion_VIBBER', 'DanKeshet', 'David_depaoli',
'Eclecticology', 'Graft', 'Lee_Daniel_Crocker', 'Peter_Winnberg', 'Quercusrobur',
'The_Cunctator', 'Tzartzam', 'ip:151.140.141.30', 'ip:206.82.16.35', 'ip:216.103.84.145',
'ip:24.188.31.147']), 'AmericanSamoa': (14, ['Ngaiklin', 'ip:office.bomis.com']),
'AccessibleComputing': (14, ['Ngaiklin', 'RoseParks'])}
正如你看到它在article_names的格式[名]:([編輯數量],[n個用戶誰編輯它])
我想爲每個字典鍵(也就是數字後的括號內的部分)取值的第二部分,並將它放入用戶的計數,然後將它們放回到不同的字典中。我已經有一段時間了,我昨晚沒有睡覺,所以我確定這很容易,但我被打敗了。
的什麼,我試圖把它加工成範例:
Anarchism [15] (number of users who edited the article)
AppliedEthics [2]
AmericanSamoa [2]
AccessibleComputing [2]
我有這個功能,因爲他們不是類型的字典工作正常我的其他數據集,我做不到爲了我的生活,把這件事情變成更容易合作的事情......我感到愚蠢。
def formatter(sorted, type, edit_var, ID): #ID is just to identify if it's that god forsaken dict
count = 0
print()
for line in sorted:
count+=1
print("Printing the top {} {} in regards to {}:\n ".format(count, type, edit_var))
print("{:37} {:4}".format(37*"-", 4*"-"))
for line in sorted:
print("{:37} {}".format(line[0], line[1]))
藉助於此,我得到「長度= [(鍵,LEN(mydict [鍵] [1])),用於mydict鍵] 類型錯誤:「詮釋'對象不是可以支付的'扔在我身上。我在Python 3.3。3,所以我也盡我所能來調整。我假設在我的程序中有其他地方正在做一個int,它會搞砸了嗎? – user3268270
我在python 2.7.2上測試了我的代碼,不知道這個錯誤來自哪裏。這裏是一個在線Python解釋器:http://repl.it/languages/Python – najjarammar
我需要使用3.3.3 :(我不懷疑它的工作原理!它與我一直在嘗試的東西類似不幸的是,2.x和3.x之間的差異已經毀了我在這方面的努力 – user3268270