J'utilise une liste imbriquée qui contient divers types de crimes. Pour clarifier, crimeDescription
est formaté en tant que tel: [['Murder'], ['Assault'], ... , ['Stalking'], ['Rape']]
. Je cherche à créer un dictionnaire qui contiendra chaque valeur/crime qui est dans cette liste et enregistrer sa fréquence, ou à quelle fréquence il apparaît dans l'ensemble de données. Puisque les clés à l'intérieur des dictionnaires ne peuvent pas être des listes, j'essaie d'accéder à la chaîne à l'intérieur de chaque liste imbriquée, en appelant son index i [0] dans la boucle for. Quand je lance le programme suivant:Python - Transformer une liste imbriquée dans un dictionnaire?
#TypesOfCrime --> a List containing all different types of crime that's happened in LA
TypesOfCrime = []
CrimeFreq = {}
for i in crimeDescription:
if i not in TypesOfCrime:
i = i[0]
CrimeFreq[i] = 1
elif i in TypesOfCrime:
i = i[0]
CrimeFreq[i] += 1
Je reçois l'erreur suivante:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-75-a8698e79e96a> in <module>()
5 if i not in TypesOfCrime:
6 TypesOfCrime.append(i)
----> 7 CrimeFreq[i[0]] = 1
8 elif i in TypesOfCrime:
9 CrimeFreq[i[0]] += 1
TypeError: 'float' object is not subscriptable
Qu'est-ce que je fais mal? Comment puis-je créer un dictionnaire contenant chaque valeur différente de ma liste imbriquée? Tout conseil sera utile.
Um, y a-t-il une bonne raison que vous ayez une liste de listes d'éléments uniques? En outre, ce message d'erreur n'est pas cohérent avec le code d'exemple. S'il vous plaît fournir un [mcve] –
@ juanpa.arrivillaga Voilà comment j'ai reçu l'ensemble de données. J'aimerais transformer le contenu d'une manière qui serait utile, et c'est ce que j'essaie de faire dans les instructions if, mais obtenir cette TypeError ... des idées? – user7366442
Qu'est-ce que 'crimeDescription', est-ce juste une chaîne décrivant chaque' TypesOfCrime'? – davedwards