Maison  >  Questions et réponses  >  le corps du texte

Je voudrais demander pourquoi Python 2.7 et 3.6 utilisent une boucle for pour afficher le contenu du dictionnaire, alors pourquoi sont-ils triés différemment ?

Excusez-moi, pourquoi le contenu du dictionnaire est-il trié différemment en utilisant le même pour les versions 2.7 et 3.6 ?

d = {'Adam':95,'Lisa':85,'Bart':59}
for k,v in d.items():
  print k,':',v
  #3.6的是print(k,':',k)

Sortie du contenu par 2,7

Lisa : 85
Adam : 95
Bart : 59

Et 3.6 s'affiche normalement

Adam:95
Lisa:85
Bart:59
PHP中文网PHP中文网2711 Il y a quelques jours561

répondre à tous(2)je répondrai

  • 某草草

    某草草2017-05-18 10:47:20

    Ne vous inquiétez pas trop de la raison pour laquelle le dictionnaire est trié différemment. Les dictionnaires ne sont pas ordonnés par nature. Si vous souhaitez qu'ils soient classés, vous devez les trier avant de revenir. En python3, une telle opération est généralement effectuée pour réduire l'utilisation de la mémoire.

    répondre
    0
  • 黄舟

    黄舟2017-05-18 10:47:20

    À cause de ça

    https://docs.python.org/3/wha...

    Cython 3.6 modifie l'implémentation de dict pour améliorer les performances, et le tri automatique des noms de clés est un petit effet secondaire.

    répondre
    0
  • Annulerrépondre