这里是我的字典:获得一个值的特定部分出一本字典值
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