J'essaie de trier plusieurs listes en fonction de la liste d'âge de haut en bas. Mais cela me donne toujours des erreurs.
def age(last,name,birthday):
ages=['32','21','35']
names=['Mattie','Meaghan','Gladys']
lasts=['Poquette','Garufi','Rim']
ctr=1
"""I tried the line below but it gives me error! error message: ages,lasts,names = zip(*sorted(zip(ages,lasts,names)))
ValueError: not enough values to unpack (expected 3, got 0)
"""
ages,lasts,names = zip(*sorted(zip(ages,lasts,names)))
for bday in birthday:
my_date = bday
b_date = datetime.strptime(my_date, '%m/%d/%Y')
age=("%d" % ((datetime.today() - b_date).days / 365))
ages.append(age)
for l in last:
lasts.append(l)
for n in name:
names.append(n)
# Iwant this to be sorted by age
for a,l,n in zip(ages,lasts,names):
print(f"{ctr} Employee name {l}, {n} Age:{a}")
ctr+=1
4 Réponses :
essayez de stocker vos données dans le dictionnaire comme l'âge comme clé et une liste ayant un nom et un dernier élément. Ensuite, vous pouvez trier à l'âge facilement. P>
Dictionnaire: élément clé Âge -> [nom, dernier] p>
Merci pour la réponse mais j'ai essayé de stocker dans le dictionnaire, mais elle stocke seulement 20%, j'ai 600 étudiants en tant que données. Quand j'ai essayé ce code dicny [a] = l, n il stocke uniquement 20% des données.
Je pense que parce que vos données ont des valeurs en double pour l'âge.
Je n'ai pas eu de problèmes avec cette solution sortie: p> ('21', '32', '35') ('Garufi', 'Pochette', 'Rim') ("Matghan", "Mattie", "Gladys") P>
BlockQuote> Mais j'ai reconnu, si je sauvegardez l'objet Zip dans une variable d'abord, puis imprimez-la sous la liste et utilisez cet objet ZIP ultérieurement pour le tri, puis je reçois la même erreur que vous. P > sortie: p> [('21', 'Garufi', 'Meaghan'), ('32', 'Pochette', 'Mattie'), ('35', 'Rim', 'Gladys')] P>
Traceback (appel le plus récent): P>
fichier "c: / utilisateurs / * / bureau / test.py", ligne 9, dans p>
âges, dure, noms = zip (* trié (z)) p>
ValueError: Pas assez de valeurs pour déballer (attendu 3, got 0) p>
blockQuote> Peut-être que cela vous aidera. P> p>
Essayez ceci
Pour ce type de fonctionnement, vous pouvez également stocker vos données dans une structure de type tableau, telle qu'une pandas Dataframe . puis et enfin, vous pouvez utiliser personnes code> aimerait ce Dataframe: p> .sort_values () code> méthode Pour trier vos données par la colonne que vous voulez, par exemple par dure code> en faisant: p>