排序功能在Python中不起作用

时间:2013-12-08 01:06:44

标签: python sorting typeerror

我正在试图通过类型函数来处理一些python代码,但我似乎无法让它工作。目前,我的sort函数得到一个TypeError,声明它只需要2个参数,并且只有1个给定。我从json文件中获取数据。

这是我班上的开始:

import json
import operator 
from operator import itemgetter

class Movielist():

    dataFile = "mymoviedata.json"

    def __init__(self):
        print "Loading Program..."
        self.welcome()

    def loadData(self, dataFile):
        movieObject = []
        json_data=open(dataFile)

        movieObject = json.load(json_data)
        json_data.close()
        return movieObject

这是我调用函数的地方

if option == "4":
    print self.sortByGenre()

这是功能:

def sortByGenre(self, FoundMedia):
    sortedgenrelist = []
    sortedgenrelist = sorted(FoundMedia, key = itemgetter('genre'))
    return sortedgenrelist

1 个答案:

答案 0 :(得分:0)

问题在于:

print self.sortByGenre()

仅传递1个参数(self)。该功能需要2:

def sortByGenre(self, FoundMedia):
    ...

你应该传递另一个参数 - FoundMedia的一些论据。