L'objet n'est pas subscriptable

Je vais avoir un peu de mal avec du code python (des choses simples).
Il est arrivé à un point où je suis en espérant que si je clique sur exécuter suffisamment de fois, il pourrait travailler...

Voici le code:

Data = [1, 2, 3, 4, 5]
Frequency = [1, 2, 3, 3, 1]

def mode(data1, frequency1):
    mode = [0]
    count = 0
    while count != len(frequency1):
        if frequency1[count] > mode[0]:
            mode = data1[count]
        elif frequency1[count] == mode:
           mode = [mode, data1[count]]
        count +=1
    return mode

mode = mode(Data, Frequency)
print(mode)

Il retourne :

 if Frequency[0] > mode[0]:

 TypeError: 'int' object is not subscriptable

J'ai eu un coup d'oeil à une autre question & réponse, mais il regarda au-delà de moi.
Où vais-je tort!

Edit: je sais, il existe des modules vous pouvez importer pour trouver la moyenne, mais je veux le faire sans avoir à les importer quoi que ce soit.

Edit: tout le code qui est maintenant affiché. Si je N'ai pas le mode variable d'une liste c'est bien jusqu'à il y a deux modes.

Droit... mode est un int... pas certains de la liste de... ne pas utiliser des noms de variables à des fins différentes, déclarer une variable différente avec un nom différent pour chaque utilisation.
Je ne comprends pas ce que votre code est en train de faire. Qu'attendez-vous mode[0] à être dans le premier endroit que vous avez besoin de convertir un nombre entier? Pourquoi êtes-vous le stockage de la mode précédent et le nouveau ensemble dans une liste comme mode?
Comme une note de côté, une boucle de la forme count = 0, while count != len(frequency1): frequency1[count] peut (et doit) être remplacé par for frequency in frequency1:. Si vous avez besoin d' count pour une raison quelconque, l'utilisation for count, frequency in enumerate(frequency1):. Mais si vous avez uniquement besoin count à l'index une autre liste au même rythme, ne pas le faire; il suffit de ne for frequency, data in zip(frequency1, data1):. Cependant vous le faites, se débarrasser de ce manuel compteur de boucle de gestion élimine beaucoup de facile à faire les éventuels bugs.
Vous avez également une fonction nommée mode et une variable nommée mode. Quand est qui qui? (La langue a une définition stricte, mais c'est un fou manière d'écrire du code.)

OriginalL'auteur Reubens | 2013-10-22