0
votes

Comment annoncer la valeur au dictionnaire et les trier?

J'ai une structure de données

âge, hauteur

Ils sont numéro et ils seront insérés dans une boucle. Par exemple, xxx

après 100 iTers, je m'attends à ce que la sortie aime xxx

après cela, je veux trier le résultat en diminuant l'âge et le dictionnaire sera goûte xxx

devrais-je utiliser un dictionnaire dans ce cas dans Python? Je veux aussi obtenir 2 postes que le plus grand âge aime 23,14 et 10,20. Comment faire? Merci


4 commentaires

Avec votre implémentation de dictionnaire, elle ne finira que de l'ajout de last and hauteur , tous les autres sont remplacés peut-être une liste comme des valeurs pour que les clés vous permettraient de sauvegarder.


Malheureusement, après l'itération de votre dict sera comme, {"Âge": 96, "hauteur ': 83}


Vous pouvez utiliser pandas.dataframe pour cela.


La base ici est, le dictionnaire n'autorise pas les clés en double. Par conséquent, même si vous essayez d'insérer une clé d'âge pour 100 itérations, il est montré qu'une seule fois avec le dernier insert.


3 Réponses :


2
votes

au lieu d'un dict, on dirait que vous voulez une liste des dicts em>. Exemple: xxx pré>

alors, vous pouvez les envoyer: p> xxx pré>

et triez-les (en marche arrière): p>

my_list.sort(key=lambda x: -1 * x['Age'])


0 commentaires

2
votes

Vous devez ajouter le résultat à une liste, au lieu de DIC

sorted_list = sorted(my_list,key=lambda x:x['Age'],reverse=True)


0 commentaires

1
votes

Avec votre implémentation du dictionnaire, il ne finira que de l'ajout d'une hauteur code> and hauteur code>, tous les autres sont remplacés. Peut-être qu'une liste comme des valeurs pour les clés vous permettrait de vous sauvegarder.

Ceci utilise collections.defauldict code> pour créer un dictionnaire avec la liste des valeurs et les trompier avec zip p >

for x, y in sorted_values:
    print(x, y)


0 commentaires