您好我有以下字典,包括密钥和频率:
dictFrec = {'22': 21, '25': 9, '47': 21, '1': 22, '28': 20, '21': 12, '10': 136, '12': 106, '17': 20, '19': 39, '33': 89, '31': 40, '48': 52, '30': 37, '37': 18, '41': 114, '36': 49, '42': 30, '7': 22, '8': 29, '18': 22, '4': 18, '14': 49, '38': 16, '34': 37, '6': 11, '2': 19, '44': 16, '35': 69, '26': 52, '39': 30, '27': 16, '40': 24, '0': 31, '3': 21, '32': 71, '5': 17, '23': 27, '24': 36, '20': 26, '46': 19, '11': 28, '29': 50, '13': 19, '9': 101, '49': 44, '15': 23, '43': 17, '45': 37, '16': 72}
为了获得我在类中设计以下函数的5个最低值:
import operator
class getStrange:
def getStrangeD(my_dict):
strange=dict(sorted(my_dict.items(), key=operator.itemgetter(1), reverse=True)[:5])
return strange
当我尝试按如下方式导入时出现问题:
from tools import getStrange as G
newA = G.getStrangeD(dictFrec)
我得到了:
Traceback (most recent call last):
File "parser.py", line 55, in <module>
newA = G.getStrangeD(dictFrec)
AttributeError: module 'tools.getStrange' has no attribute 'getStrangeD'
所以我想得到关于这方面的支持,我试图让这个函数更干净我的代码,但是我不知道如何导入这个函数以及问题在哪里,感谢支持,
这个新类存储在一个文件中,如下所示:
/tools$ ls
getStrange.py __pycache__
答案 0 :(得分:1)
你有两个问题。首先, $(document).on('click', '.box', function() {
alert('hello')
});
被写为实例方法,但不包含getStrangeD
变量。由于它不使用实例数据,因此您可以将其定义为静态方法。其次,由于它是类的成员,因此在访问它时需要包含类名。
工具/ getStrange.py
self
现在使用它
import operator
class getStrange:
@staticmethod
def getStrangeD(my_dict):
strange=dict(sorted(my_dict.items(), key=operator.itemgetter(1), reverse=True)[:5])
return strange