ValueError: max() arg est une séquence vide

J'ai créé une interface graphique à l'aide de wxFormBuilder qui devrait permettre à un utilisateur d'entrer le nom de "visiteurs" dans la liste puis cliquez sur l'un des deux boutons de retour les plus fréquentes et les moins fréquents visiteurs de l'entreprise.

J'ai créé une version antérieure qui, malheureusement, m'a donné le nombre de visiteurs, plutôt que le nom de la plus/moins visiteur fréquent. J'ai joint une capture d'écran de l'interface graphique, j'ai créé pour vous aider à ajouter un peu de clarté à la question ( http://imgur.com/XJnvo0U ).

Une nouvelle version du code de prend une approche différente de la version antérieure, et je n'arrive pas à jeter quoi que ce soit. Au lieu de cela, je reçois cette erreur:

ValueError: max() arg est une séquence vide

Par rapport à cette ligne:

auto.txtResults.Valeur = k.index(max(v))

import wx
import myLoopGUI
import commands

class MyLoopFrame(myLoopGUI.MyFrame1):
    def __init__(self, parent):
        myLoopGUI.MyFrame1.__init__(self, parent)

    def clkAddData(self,parent):
        if len(self.txtAddData.Value) != 0:
            try:
                myname = str(self.txtAddData.Value)
                self.listMyData.Append(str(myname))
            except:
                wx.MessageBox("This has to be a name!")            
        else:
            wx.MessageBox("This can't be empty")




    def clkFindMost(self, parent):
        self.listMyData = []
        unique_names = set(self.listMyData)
        frequencies = {}
        for name in unique_names:
            if frequencies.get[name]:
                frequencies[name] += 1
            else:
                frequencies[name] = 0

        v = list(frequencies.values())
        k = list(frequencies.keys())
        self.txtResults.Value = k.index(max(v))


    def clkFindLeast(self, parent):
        unique_names = set(self.listMyData)
        frequencies = {}
        for name in unique_names:
            if frequencies.get(name):
                frequencies[name] += 1
            else:
                frequencies[name] = 0

        v = list(frequencies.values())
        k = list(frequencies.keys())
        self.txtResults.Value = k.index(min(v))

myApp = wx.App(False)
myFrame = MyLoopFrame(None)
myFrame.Show()
myApp.MainLoop()
Lorsque len(v) == 0, dans clkFindMost, max(v) soulève ValueError.
ce type d'erreur arrive lorsque vous passez à la liste vide dans (max). Afin de vérifier si la liste est disponible que pour le passer à la max

OriginalL'auteur J'onn J'onzz | 2014-10-01