[{"data":1,"prerenderedAt":3585},["ShallowReactive",2],{"navigation":3,"\u002Fnsi-1ere\u002Fpd-tables-donnees\u002Ftri":585,"\u002Fnsi-1ere\u002Fpd-tables-donnees\u002Ftri__counterpart":2035,"\u002Fnsi-1ere\u002Fpd-tables-donnees\u002Ftri__slides":2416,"annexes-memo:\u002Fnsi-1ere\u002Fpd-tables-donnees\u002Ftri":2866,"annexes-slides:\u002Fnsi-1ere\u002Fpd-tables-donnees\u002Ftri":3191},[4,224,440],{"title":5,"path":6,"stem":7,"children":8},"SNT — Seconde","\u002Fsnt-2nde","0.snt-2nde\u002F0.index",[9,10,14,36,66,92,118,144,162,184,206],{"title":5,"path":6,"stem":7},{"title":11,"path":12,"stem":13},"REVIEW pédagogique — SNT 2nde","\u002Fsnt-2nde\u002Freview","0.snt-2nde\u002FREVIEW",{"title":15,"path":16,"stem":17,"children":18},"Internet","\u002Fsnt-2nde\u002Fsa-internet","0.snt-2nde\u002Fsa-internet\u002F0.index",[19,20,24,28,32],{"title":15,"path":16,"stem":17},{"title":21,"path":22,"stem":23},"Adresses symboliques et DNS","\u002Fsnt-2nde\u002Fsa-internet\u002Fadresses-dns","0.snt-2nde\u002Fsa-internet\u002F1.adresses-dns",{"title":25,"path":26,"stem":27},"Internet et les réseaux physiques","\u002Fsnt-2nde\u002Fsa-internet\u002Freseaux-physiques","0.snt-2nde\u002Fsa-internet\u002F2.reseaux-physiques",{"title":29,"path":30,"stem":31},"Protocoles TCP\u002FIP et routage des paquets","\u002Fsnt-2nde\u002Fsa-internet\u002Ftcp-ip-routage","0.snt-2nde\u002Fsa-internet\u002F3.tcp-ip-routage",{"title":33,"path":34,"stem":35},"Réseaux pair-à-pair","\u002Fsnt-2nde\u002Fsa-internet\u002Fpair-a-pair","0.snt-2nde\u002Fsa-internet\u002F4.pair-a-pair",{"title":37,"path":38,"stem":39,"children":40},"Le Web","\u002Fsnt-2nde\u002Fsb-web","0.snt-2nde\u002Fsb-web\u002F0.index",[41,42,46,50,54,58,62],{"title":37,"path":38,"stem":39},{"title":43,"path":44,"stem":45},"Histoire du Web","\u002Fsnt-2nde\u002Fsb-web\u002Fhistoire-web","0.snt-2nde\u002Fsb-web\u002F1.histoire-web",{"title":47,"path":48,"stem":49},"URL et hypertexte","\u002Fsnt-2nde\u002Fsb-web\u002Furl-hypertexte","0.snt-2nde\u002Fsb-web\u002F2.url-hypertexte",{"title":51,"path":52,"stem":53},"HTML et CSS — le contenu et la présentation","\u002Fsnt-2nde\u002Fsb-web\u002Fhtml-css","0.snt-2nde\u002Fsb-web\u002F3.html-css",{"title":55,"path":56,"stem":57},"Client-serveur et requêtes HTTP","\u002Fsnt-2nde\u002Fsb-web\u002Fclient-serveur-http","0.snt-2nde\u002Fsb-web\u002F4.client-serveur-http",{"title":59,"path":60,"stem":61},"Moteurs de recherche","\u002Fsnt-2nde\u002Fsb-web\u002Fmoteurs-recherche","0.snt-2nde\u002Fsb-web\u002F5.moteurs-recherche",{"title":63,"path":64,"stem":65},"Sécurité du navigateur et notions juridiques","\u002Fsnt-2nde\u002Fsb-web\u002Fsecurite-droits","0.snt-2nde\u002Fsb-web\u002F6.securite-droits",{"title":67,"path":68,"stem":69,"children":70},"Les réseaux sociaux","\u002Fsnt-2nde\u002Fsc-reseaux-sociaux","0.snt-2nde\u002Fsc-reseaux-sociaux\u002F0.index",[71,72,76,80,84,88],{"title":67,"path":68,"stem":69},{"title":73,"path":74,"stem":75},"Panorama des réseaux sociaux","\u002Fsnt-2nde\u002Fsc-reseaux-sociaux\u002Fpanorama-rs","0.snt-2nde\u002Fsc-reseaux-sociaux\u002F1.panorama-rs",{"title":77,"path":78,"stem":79},"Identité numérique et authentification","\u002Fsnt-2nde\u002Fsc-reseaux-sociaux\u002Fidentite-numerique","0.snt-2nde\u002Fsc-reseaux-sociaux\u002F2.identite-numerique",{"title":81,"path":82,"stem":83},"Le modèle économique des réseaux sociaux","\u002Fsnt-2nde\u002Fsc-reseaux-sociaux\u002Fmodele-economique","0.snt-2nde\u002Fsc-reseaux-sociaux\u002F3.modele-economique",{"title":85,"path":86,"stem":87},"Petit monde et graphes","\u002Fsnt-2nde\u002Fsc-reseaux-sociaux\u002Fpetit-monde-graphes","0.snt-2nde\u002Fsc-reseaux-sociaux\u002F4.petit-monde-graphes",{"title":89,"path":90,"stem":91},"La cyberviolence","\u002Fsnt-2nde\u002Fsc-reseaux-sociaux\u002Fcyberviolence","0.snt-2nde\u002Fsc-reseaux-sociaux\u002F5.cyberviolence",{"title":93,"path":94,"stem":95,"children":96},"Les données structurées et leur traitement","\u002Fsnt-2nde\u002Fsd-donnees-structurees","0.snt-2nde\u002Fsd-donnees-structurees\u002F0.index",[97,98,102,106,110,114],{"title":93,"path":94,"stem":95},{"title":99,"path":100,"stem":101},"Données et formats","\u002Fsnt-2nde\u002Fsd-donnees-structurees\u002Fdonnees-formats","0.snt-2nde\u002Fsd-donnees-structurees\u002F1.donnees-formats",{"title":103,"path":104,"stem":105},"Données structurées","\u002Fsnt-2nde\u002Fsd-donnees-structurees\u002Fdonnees-structurees","0.snt-2nde\u002Fsd-donnees-structurees\u002F2.donnees-structurees",{"title":107,"path":108,"stem":109},"Métadonnées","\u002Fsnt-2nde\u002Fsd-donnees-structurees\u002Fmetadonnees","0.snt-2nde\u002Fsd-donnees-structurees\u002F3.metadonnees",{"title":111,"path":112,"stem":113},"Traitement de tables","\u002Fsnt-2nde\u002Fsd-donnees-structurees\u002Ftraitement-tables","0.snt-2nde\u002Fsd-donnees-structurees\u002F4.traitement-tables",{"title":115,"path":116,"stem":117},"Le cloud","\u002Fsnt-2nde\u002Fsd-donnees-structurees\u002Fcloud","0.snt-2nde\u002Fsd-donnees-structurees\u002F5.cloud",{"title":119,"path":120,"stem":121,"children":122},"Localisation, cartographie et mobilité","\u002Fsnt-2nde\u002Fse-localisation-cartographie","0.snt-2nde\u002Fse-localisation-cartographie\u002F0.index",[123,124,128,132,136,140],{"title":119,"path":120,"stem":121},{"title":125,"path":126,"stem":127},"GPS et Galileo — se situer grâce aux satellites","\u002Fsnt-2nde\u002Fse-localisation-cartographie\u002Fgps-galileo","0.snt-2nde\u002Fse-localisation-cartographie\u002F1.gps-galileo",{"title":129,"path":130,"stem":131},"Décoder une trame NMEA","\u002Fsnt-2nde\u002Fse-localisation-cartographie\u002Ftrame-nmea","0.snt-2nde\u002Fse-localisation-cartographie\u002F2.trame-nmea",{"title":133,"path":134,"stem":135},"Cartes numériques — GeoPortail et OpenStreetMap","\u002Fsnt-2nde\u002Fse-localisation-cartographie\u002Fcartes-numeriques","0.snt-2nde\u002Fse-localisation-cartographie\u002F3.cartes-numeriques",{"title":137,"path":138,"stem":139},"Itinéraires et graphes","\u002Fsnt-2nde\u002Fse-localisation-cartographie\u002Fitineraires-graphes","0.snt-2nde\u002Fse-localisation-cartographie\u002F4.itineraires-graphes",{"title":141,"path":142,"stem":143},"Confidentialité de la position","\u002Fsnt-2nde\u002Fse-localisation-cartographie\u002Fconfidentialite-position","0.snt-2nde\u002Fse-localisation-cartographie\u002F5.confidentialite-position",{"title":145,"path":146,"stem":147,"children":148},"Informatique embarquée et objets connectés","\u002Fsnt-2nde\u002Fsf-info-embarquee","0.snt-2nde\u002Fsf-info-embarquee\u002F0.index",[149,150,154,158],{"title":145,"path":146,"stem":147},{"title":151,"path":152,"stem":153},"Systèmes informatiques embarqués","\u002Fsnt-2nde\u002Fsf-info-embarquee\u002Fsystemes-embarques","0.snt-2nde\u002Fsf-info-embarquee\u002F1.systemes-embarques",{"title":155,"path":156,"stem":157},"Capteurs et actionneurs","\u002Fsnt-2nde\u002Fsf-info-embarquee\u002Fcapteurs-actionneurs","0.snt-2nde\u002Fsf-info-embarquee\u002F2.capteurs-actionneurs",{"title":159,"path":160,"stem":161},"IHM et objets connectés","\u002Fsnt-2nde\u002Fsf-info-embarquee\u002Fihm-objet-connecte","0.snt-2nde\u002Fsf-info-embarquee\u002F3.ihm-objet-connecte",{"title":163,"path":164,"stem":165,"children":166},"Photographie numérique","\u002Fsnt-2nde\u002Fsg-photo-numerique","0.snt-2nde\u002Fsg-photo-numerique\u002F0.index",[167,168,172,176,180],{"title":163,"path":164,"stem":165},{"title":169,"path":170,"stem":171},"Photosites, pixels et résolution","\u002Fsnt-2nde\u002Fsg-photo-numerique\u002Fpixels-resolution","0.snt-2nde\u002Fsg-photo-numerique\u002F1.pixels-resolution",{"title":173,"path":174,"stem":175},"Les algorithmes de l'appareil photo","\u002Fsnt-2nde\u002Fsg-photo-numerique\u002Falgorithmes-photo","0.snt-2nde\u002Fsg-photo-numerique\u002F2.algorithmes-photo",{"title":177,"path":178,"stem":179},"Les métadonnées EXIF","\u002Fsnt-2nde\u002Fsg-photo-numerique\u002Fmetadonnees-exif","0.snt-2nde\u002Fsg-photo-numerique\u002F3.metadonnees-exif",{"title":181,"path":182,"stem":183},"Traiter une image en Python","\u002Fsnt-2nde\u002Fsg-photo-numerique\u002Ftraitement-rgb","0.snt-2nde\u002Fsg-photo-numerique\u002F4.traitement-rgb",{"title":185,"path":186,"stem":187,"children":188},"Notions transversales de programmation","\u002Fsnt-2nde\u002Fsh-prog-notions","0.snt-2nde\u002Fsh-prog-notions\u002F0.index",[189,190,194,198,202],{"title":185,"path":186,"stem":187},{"title":191,"path":192,"stem":193},"Séquences d'instructions et variables","\u002Fsnt-2nde\u002Fsh-prog-notions\u002Fsequences-affectations","0.snt-2nde\u002Fsh-prog-notions\u002F1.sequences-affectations",{"title":195,"path":196,"stem":197},"Instructions conditionnelles","\u002Fsnt-2nde\u002Fsh-prog-notions\u002Fconditionnelles","0.snt-2nde\u002Fsh-prog-notions\u002F2.conditionnelles",{"title":199,"path":200,"stem":201},"Boucles bornées et non bornées","\u002Fsnt-2nde\u002Fsh-prog-notions\u002Fboucles","0.snt-2nde\u002Fsh-prog-notions\u002F3.boucles",{"title":203,"path":204,"stem":205},"Définitions et appels de fonctions","\u002Fsnt-2nde\u002Fsh-prog-notions\u002Ffonctions","0.snt-2nde\u002Fsh-prog-notions\u002F4.fonctions",{"title":207,"path":208,"stem":209,"children":210},"Démo des widgets MDC","\u002Fsnt-2nde\u002Fzz-demo-widgets","0.snt-2nde\u002Fzz-demo-widgets\u002F0.index",[211,212,216,220],{"title":207,"path":208,"stem":209},{"title":213,"path":214,"stem":215},"Démo statique — callouts, code, BO, illustration","\u002Fsnt-2nde\u002Fzz-demo-widgets\u002Fstatique","0.snt-2nde\u002Fzz-demo-widgets\u002F1.statique",{"title":217,"path":218,"stem":219},"Démo interactive — self-eval et python-snippet","\u002Fsnt-2nde\u002Fzz-demo-widgets\u002Finteractif","0.snt-2nde\u002Fzz-demo-widgets\u002F2.interactif",{"title":221,"path":222,"stem":223},"Démo · 14 widgets de manipulation NSI","\u002Fsnt-2nde\u002Fzz-demo-widgets\u002Fwidgets-manipulation","0.snt-2nde\u002Fzz-demo-widgets\u002F3.widgets-manipulation",{"title":225,"path":226,"stem":227,"children":228},"NSI — Première","\u002Fnsi-1ere","1.nsi-1ere\u002F0.index",[229,230,234,256,282,304,328,354,380,410],{"title":225,"path":226,"stem":227},{"title":231,"path":232,"stem":233},"Relecture pédagogique — 8 chapitres NSI 1ère (PA → PH)","\u002Fnsi-1ere\u002Freview","1.nsi-1ere\u002FREVIEW",{"title":235,"path":236,"stem":237,"children":238},"Histoire de l'informatique","\u002Fnsi-1ere\u002Fpa-histoire-info","1.nsi-1ere\u002Fpa-histoire-info\u002F0.index",[239,240,244,248,252],{"title":235,"path":236,"stem":237},{"title":241,"path":242,"stem":243},"De la préantiquité aux machines à calculer","\u002Fnsi-1ere\u002Fpa-histoire-info\u002Fpreantiquite-aux-machines","1.nsi-1ere\u002Fpa-histoire-info\u002F1.preantiquite-aux-machines",{"title":245,"path":246,"stem":247},"La machine universelle (1930-1950)","\u002Fnsi-1ere\u002Fpa-histoire-info\u002Fmachine-universelle","1.nsi-1ere\u002Fpa-histoire-info\u002F2.machine-universelle",{"title":249,"path":250,"stem":251},"Les ordinateurs modernes (1947-1990)","\u002Fnsi-1ere\u002Fpa-histoire-info\u002Fordinateurs-modernes","1.nsi-1ere\u002Fpa-histoire-info\u002F3.ordinateurs-modernes",{"title":253,"path":254,"stem":255},"Réseaux, Web et IA (1969 à aujourd'hui)","\u002Fnsi-1ere\u002Fpa-histoire-info\u002Freseaux-et-web","1.nsi-1ere\u002Fpa-histoire-info\u002F4.reseaux-et-web",{"title":257,"path":258,"stem":259,"children":260},"Représentation des données — types et valeurs","\u002Fnsi-1ere\u002Fpb-types-valeurs","1.nsi-1ere\u002Fpb-types-valeurs\u002F0.index",[261,262,266,270,274,278],{"title":257,"path":258,"stem":259},{"title":263,"path":264,"stem":265},"Bases de numération et entiers positifs","\u002Fnsi-1ere\u002Fpb-types-valeurs\u002Fbases-entiers-positifs","1.nsi-1ere\u002Fpb-types-valeurs\u002F1.bases-entiers-positifs",{"title":267,"path":268,"stem":269},"Entiers relatifs et complément à deux","\u002Fnsi-1ere\u002Fpb-types-valeurs\u002Fentiers-relatifs","1.nsi-1ere\u002Fpb-types-valeurs\u002F2.entiers-relatifs",{"title":271,"path":272,"stem":273},"Nombres flottants et virgule flottante","\u002Fnsi-1ere\u002Fpb-types-valeurs\u002Fflottants","1.nsi-1ere\u002Fpb-types-valeurs\u002F3.flottants",{"title":275,"path":276,"stem":277},"Textes et encodages — ASCII, ISO-8859-1, Unicode","\u002Fnsi-1ere\u002Fpb-types-valeurs\u002Ftextes-encodages","1.nsi-1ere\u002Fpb-types-valeurs\u002F4.textes-encodages",{"title":279,"path":280,"stem":281},"Valeurs booléennes et opérateurs logiques","\u002Fnsi-1ere\u002Fpb-types-valeurs\u002Fbooleens","1.nsi-1ere\u002Fpb-types-valeurs\u002F5.booleens",{"title":283,"path":284,"stem":285,"children":286},"Représentation des données : types construits","\u002Fnsi-1ere\u002Fpc-types-construits","1.nsi-1ere\u002Fpc-types-construits\u002F0.index",[287,288,292,296,300],{"title":283,"path":284,"stem":285},{"title":289,"path":290,"stem":291},"Tableaux et listes","\u002Fnsi-1ere\u002Fpc-types-construits\u002Ftableaux-listes","1.nsi-1ere\u002Fpc-types-construits\u002F1.tableaux-listes",{"title":293,"path":294,"stem":295},"Listes en compréhension","\u002Fnsi-1ere\u002Fpc-types-construits\u002Fcomprehension","1.nsi-1ere\u002Fpc-types-construits\u002F2.comprehension",{"title":297,"path":298,"stem":299},"Tuples et p-uplets nommés","\u002Fnsi-1ere\u002Fpc-types-construits\u002Ftuples","1.nsi-1ere\u002Fpc-types-construits\u002F3.tuples",{"title":301,"path":302,"stem":303},"Dictionnaires","\u002Fnsi-1ere\u002Fpc-types-construits\u002Fdictionnaires","1.nsi-1ere\u002Fpc-types-construits\u002F4.dictionnaires",{"title":305,"path":306,"stem":307,"children":308},"Traitement de données en tables","\u002Fnsi-1ere\u002Fpd-tables-donnees","1.nsi-1ere\u002Fpd-tables-donnees\u002F0.index",[309,310,314,318,322],{"title":305,"path":306,"stem":307},{"title":311,"path":312,"stem":313},"Tables et CSV","\u002Fnsi-1ere\u002Fpd-tables-donnees\u002Ftables-csv","1.nsi-1ere\u002Fpd-tables-donnees\u002F1.tables-csv",{"title":315,"path":316,"stem":317},"Recherche et filtrage","\u002Fnsi-1ere\u002Fpd-tables-donnees\u002Frecherche","1.nsi-1ere\u002Fpd-tables-donnees\u002F2.recherche",{"title":319,"path":320,"stem":321},"Trier une table","\u002Fnsi-1ere\u002Fpd-tables-donnees\u002Ftri","1.nsi-1ere\u002Fpd-tables-donnees\u002F3.tri",{"title":323,"path":324,"stem":325,"children":326},"Fusion et indexation","\u002Fnsi-1ere\u002Fpd-tables-donnees\u002Ffusion-indexation","1.nsi-1ere\u002Fpd-tables-donnees\u002F4.fusion-indexation",[327],{"title":323,"path":324,"stem":325},{"title":329,"path":330,"stem":331,"children":332},"IHM sur le Web","\u002Fnsi-1ere\u002Fpe-ihm-web","1.nsi-1ere\u002Fpe-ihm-web\u002F0.index",[333,334,338,342,346,350],{"title":329,"path":330,"stem":331},{"title":335,"path":336,"stem":337},"HTML et CSS — rappel de structure","\u002Fnsi-1ere\u002Fpe-ihm-web\u002Fhtml-css-bases","1.nsi-1ere\u002Fpe-ihm-web\u002F1.html-css-bases",{"title":339,"path":340,"stem":341},"Formulaires HTML","\u002Fnsi-1ere\u002Fpe-ihm-web\u002Fformulaires","1.nsi-1ere\u002Fpe-ihm-web\u002F2.formulaires",{"title":343,"path":344,"stem":345},"Événements JavaScript","\u002Fnsi-1ere\u002Fpe-ihm-web\u002Fevenements-js","1.nsi-1ere\u002Fpe-ihm-web\u002F3.evenements-js",{"title":347,"path":348,"stem":349},"Manipulation du DOM","\u002Fnsi-1ere\u002Fpe-ihm-web\u002Fdom-interaction","1.nsi-1ere\u002Fpe-ihm-web\u002F4.dom-interaction",{"title":351,"path":352,"stem":353},"Client, serveur et HTTP","\u002Fnsi-1ere\u002Fpe-ihm-web\u002Fclient-serveur-http","1.nsi-1ere\u002Fpe-ihm-web\u002F5.client-serveur-http",{"title":355,"path":356,"stem":357,"children":358},"Architectures matérielles et systèmes d'exploitation","\u002Fnsi-1ere\u002Fpf-archi-os","1.nsi-1ere\u002Fpf-archi-os\u002F0.index",[359,360,364,368,372,376],{"title":355,"path":356,"stem":357},{"title":361,"path":362,"stem":363},"Le modèle de von Neumann","\u002Fnsi-1ere\u002Fpf-archi-os\u002Fvon-neumann","1.nsi-1ere\u002Fpf-archi-os\u002F1.von-neumann",{"title":365,"path":366,"stem":367},"Périphériques et interface homme-machine","\u002Fnsi-1ere\u002Fpf-archi-os\u002Fperipheriques-ihm","1.nsi-1ere\u002Fpf-archi-os\u002F2.peripheriques-ihm",{"title":369,"path":370,"stem":371},"Les systèmes d'exploitation","\u002Fnsi-1ere\u002Fpf-archi-os\u002Fsystemes-exploitation","1.nsi-1ere\u002Fpf-archi-os\u002F3.systemes-exploitation",{"title":373,"path":374,"stem":375},"Linux et le shell","\u002Fnsi-1ere\u002Fpf-archi-os\u002Flinux-shell","1.nsi-1ere\u002Fpf-archi-os\u002F4.linux-shell",{"title":377,"path":378,"stem":379},"Réseaux et protocoles","\u002Fnsi-1ere\u002Fpf-archi-os\u002Freseaux","1.nsi-1ere\u002Fpf-archi-os\u002F5.reseaux",{"title":381,"path":382,"stem":383,"children":384},"Langages et programmation","\u002Fnsi-1ere\u002Fpg-langages-prog","1.nsi-1ere\u002Fpg-langages-prog\u002F0.index",[385,386,390,394,398,402,406],{"title":381,"path":382,"stem":383},{"title":387,"path":388,"stem":389},"Diversité et unité des langages de programmation","\u002Fnsi-1ere\u002Fpg-langages-prog\u002Fdiversite-langages","1.nsi-1ere\u002Fpg-langages-prog\u002F1.diversite-langages",{"title":391,"path":392,"stem":393},"Constructions élémentaires","\u002Fnsi-1ere\u002Fpg-langages-prog\u002Fconstructions-elementaires","1.nsi-1ere\u002Fpg-langages-prog\u002F2.constructions-elementaires",{"title":395,"path":396,"stem":397},"Fonctions","\u002Fnsi-1ere\u002Fpg-langages-prog\u002Ffonctions","1.nsi-1ere\u002Fpg-langages-prog\u002F3.fonctions",{"title":399,"path":400,"stem":401},"Spécification d'une fonction","\u002Fnsi-1ere\u002Fpg-langages-prog\u002Fspecification","1.nsi-1ere\u002Fpg-langages-prog\u002F4.specification",{"title":403,"path":404,"stem":405},"Mise au point des programmes","\u002Fnsi-1ere\u002Fpg-langages-prog\u002Fmise-au-point","1.nsi-1ere\u002Fpg-langages-prog\u002F5.mise-au-point",{"title":407,"path":408,"stem":409},"Utilisation de bibliothèques","\u002Fnsi-1ere\u002Fpg-langages-prog\u002Fbibliotheques","1.nsi-1ere\u002Fpg-langages-prog\u002F6.bibliotheques",{"title":411,"path":412,"stem":413,"children":414},"Algorithmique","\u002Fnsi-1ere\u002Fph-algorithmique","1.nsi-1ere\u002Fph-algorithmique\u002F0.index",[415,416,420,424,428,432,436],{"title":411,"path":412,"stem":413},{"title":417,"path":418,"stem":419},"Parcours séquentiel d'un tableau","\u002Fnsi-1ere\u002Fph-algorithmique\u002Fparcours-sequentiel","1.nsi-1ere\u002Fph-algorithmique\u002F1.parcours-sequentiel",{"title":421,"path":422,"stem":423},"Bases de la complexité","\u002Fnsi-1ere\u002Fph-algorithmique\u002Fcomplexite-bases","1.nsi-1ere\u002Fph-algorithmique\u002F2.complexite-bases",{"title":425,"path":426,"stem":427},"Tris par sélection et par insertion","\u002Fnsi-1ere\u002Fph-algorithmique\u002Ftris","1.nsi-1ere\u002Fph-algorithmique\u002F3.tris",{"title":429,"path":430,"stem":431},"Recherche dichotomique","\u002Fnsi-1ere\u002Fph-algorithmique\u002Fdichotomie","1.nsi-1ere\u002Fph-algorithmique\u002F4.dichotomie",{"title":433,"path":434,"stem":435},"Algorithmes gloutons","\u002Fnsi-1ere\u002Fph-algorithmique\u002Fgloutons","1.nsi-1ere\u002Fph-algorithmique\u002F5.gloutons",{"title":437,"path":438,"stem":439},"Les k plus proches voisins (k-NN)","\u002Fnsi-1ere\u002Fph-algorithmique\u002Fknn","1.nsi-1ere\u002Fph-algorithmique\u002F6.knn",{"title":441,"path":442,"stem":443,"children":444},"NSI — Terminale","\u002Fnsi-tale","2.nsi-tale\u002F0.index",[445,446,450,476,498,536,560],{"title":441,"path":442,"stem":443},{"title":447,"path":448,"stem":449},"Review pédagogique — chapitres NSI Terminale (TA, TB, TC, TD, TE)","\u002Fnsi-tale\u002Freview","2.nsi-tale\u002FREVIEW",{"title":451,"path":452,"stem":453,"children":454},"Structures de données","\u002Fnsi-tale\u002Fta-structures-donnees","2.nsi-tale\u002Fta-structures-donnees\u002F0.index",[455,456,460,464,468,472],{"title":451,"path":452,"stem":453},{"title":457,"path":458,"stem":459},"Objet, classe, interface","\u002Fnsi-tale\u002Fta-structures-donnees\u002Finterface-implementation","2.nsi-tale\u002Fta-structures-donnees\u002F1.interface-implementation",{"title":461,"path":462,"stem":463},"Implémenter une structure — l'exemple de la file FIFO","\u002Fnsi-tale\u002Fta-structures-donnees\u002Fimplementer-une-structure","2.nsi-tale\u002Fta-structures-donnees\u002F2.implementer-une-structure",{"title":465,"path":466,"stem":467},"Listes, piles, files, dictionnaires","\u002Fnsi-tale\u002Fta-structures-donnees\u002Flistes-piles-files-dict","2.nsi-tale\u002Fta-structures-donnees\u002F3.listes-piles-files-dict",{"title":469,"path":470,"stem":471},"Arbres binaires","\u002Fnsi-tale\u002Fta-structures-donnees\u002Farbres-binaires","2.nsi-tale\u002Fta-structures-donnees\u002F4.arbres-binaires",{"title":473,"path":474,"stem":475},"Graphes","\u002Fnsi-tale\u002Fta-structures-donnees\u002Fgraphes","2.nsi-tale\u002Fta-structures-donnees\u002F5.graphes",{"title":477,"path":478,"stem":479,"children":480},"Bases de données","\u002Fnsi-tale\u002Ftb-bases-de-donnees","2.nsi-tale\u002Ftb-bases-de-donnees\u002F0.index",[481,482,486,490,494],{"title":477,"path":478,"stem":479},{"title":483,"path":484,"stem":485},"Le modèle relationnel","\u002Fnsi-tale\u002Ftb-bases-de-donnees\u002Fmodele-relationnel","2.nsi-tale\u002Ftb-bases-de-donnees\u002F1.modele-relationnel",{"title":487,"path":488,"stem":489},"Bases de données relationnelles et anomalies de schéma","\u002Fnsi-tale\u002Ftb-bases-de-donnees\u002Fbase-relationnelle","2.nsi-tale\u002Ftb-bases-de-donnees\u002F2.base-relationnelle",{"title":491,"path":492,"stem":493},"Le langage SQL","\u002Fnsi-tale\u002Ftb-bases-de-donnees\u002Fsql","2.nsi-tale\u002Ftb-bases-de-donnees\u002F3.sql",{"title":495,"path":496,"stem":497},"Les systèmes de gestion de bases de données","\u002Fnsi-tale\u002Ftb-bases-de-donnees\u002Fsgbd","2.nsi-tale\u002Ftb-bases-de-donnees\u002F4.sgbd",{"title":499,"path":500,"stem":501,"children":502},"Architectures matérielles, systèmes d'exploitation et réseaux","\u002Fnsi-tale\u002Ftc-archi-os-reseaux","2.nsi-tale\u002Ftc-archi-os-reseaux\u002F0.index",[503,504,508,512,516,520,524,528,532],{"title":499,"path":500,"stem":501},{"title":505,"path":506,"stem":507},"Le système sur puce (SoC)","\u002Fnsi-tale\u002Ftc-archi-os-reseaux\u002Fsysteme-sur-puce","2.nsi-tale\u002Ftc-archi-os-reseaux\u002F1.systeme-sur-puce",{"title":509,"path":510,"stem":511},"Processus et ordonnancement par l'OS","\u002Fnsi-tale\u002Ftc-archi-os-reseaux\u002Fprocessus-os","2.nsi-tale\u002Ftc-archi-os-reseaux\u002F2.processus-os",{"title":513,"path":514,"stem":515},"L'interblocage (deadlock)","\u002Fnsi-tale\u002Ftc-archi-os-reseaux\u002Finterblocage","2.nsi-tale\u002Ftc-archi-os-reseaux\u002F3.interblocage",{"title":517,"path":518,"stem":519},"Principes du routage","\u002Fnsi-tale\u002Ftc-archi-os-reseaux\u002Froutage-principes","2.nsi-tale\u002Ftc-archi-os-reseaux\u002F4.routage-principes",{"title":521,"path":522,"stem":523},"Protocoles de routage RIP et OSPF","\u002Fnsi-tale\u002Ftc-archi-os-reseaux\u002Fprotocoles-rip-ospf","2.nsi-tale\u002Ftc-archi-os-reseaux\u002F5.protocoles-rip-ospf",{"title":525,"path":526,"stem":527},"Chiffrement symétrique","\u002Fnsi-tale\u002Ftc-archi-os-reseaux\u002Fchiffrement-symetrique","2.nsi-tale\u002Ftc-archi-os-reseaux\u002F6.chiffrement-symetrique",{"title":529,"path":530,"stem":531},"Chiffrement asymétrique","\u002Fnsi-tale\u002Ftc-archi-os-reseaux\u002Fchiffrement-asymetrique","2.nsi-tale\u002Ftc-archi-os-reseaux\u002F7.chiffrement-asymetrique",{"title":533,"path":534,"stem":535},"HTTPS — l'échange de clé symétrique","\u002Fnsi-tale\u002Ftc-archi-os-reseaux\u002Fhttps-tls","2.nsi-tale\u002Ftc-archi-os-reseaux\u002F8.https-tls",{"title":381,"path":537,"stem":538,"children":539},"\u002Fnsi-tale\u002Ftd-langages-prog","2.nsi-tale\u002Ftd-langages-prog\u002F0.index",[540,541,544,548,552,556],{"title":381,"path":537,"stem":538},{"title":403,"path":542,"stem":543},"\u002Fnsi-tale\u002Ftd-langages-prog\u002Fmise-au-point","2.nsi-tale\u002Ftd-langages-prog\u002F1.mise-au-point",{"title":545,"path":546,"stem":547},"Modularité","\u002Fnsi-tale\u002Ftd-langages-prog\u002Fmodularite","2.nsi-tale\u002Ftd-langages-prog\u002F2.modularite",{"title":549,"path":550,"stem":551},"Récursivité","\u002Fnsi-tale\u002Ftd-langages-prog\u002Frecursivite","2.nsi-tale\u002Ftd-langages-prog\u002F3.recursivite",{"title":553,"path":554,"stem":555},"Paradigmes de programmation","\u002Fnsi-tale\u002Ftd-langages-prog\u002Fparadigmes","2.nsi-tale\u002Ftd-langages-prog\u002F4.paradigmes",{"title":557,"path":558,"stem":559},"Programme comme donnée — calculabilité et indécidabilité","\u002Fnsi-tale\u002Ftd-langages-prog\u002Fprogramme-comme-donnee","2.nsi-tale\u002Ftd-langages-prog\u002F5.programme-comme-donnee",{"title":411,"path":561,"stem":562,"children":563},"\u002Fnsi-tale\u002Fte-algorithmique","2.nsi-tale\u002Fte-algorithmique\u002F0.index",[564,565,569,573,577,581],{"title":411,"path":561,"stem":562},{"title":566,"path":567,"stem":568},"Algorithmes sur les arbres binaires","\u002Fnsi-tale\u002Fte-algorithmique\u002Farbres-binaires-algos","2.nsi-tale\u002Fte-algorithmique\u002F1.arbres-binaires-algos",{"title":570,"path":571,"stem":572},"Parcours de graphes — DFS, BFS, cycles, chemins","\u002Fnsi-tale\u002Fte-algorithmique\u002Fgraphes-parcours","2.nsi-tale\u002Fte-algorithmique\u002F2.graphes-parcours",{"title":574,"path":575,"stem":576},"Diviser pour régner","\u002Fnsi-tale\u002Fte-algorithmique\u002Fdiviser-pour-regner","2.nsi-tale\u002Fte-algorithmique\u002F3.diviser-pour-regner",{"title":578,"path":579,"stem":580},"Programmation dynamique","\u002Fnsi-tale\u002Fte-algorithmique\u002Fprogrammation-dynamique","2.nsi-tale\u002Fte-algorithmique\u002F4.programmation-dynamique",{"title":582,"path":583,"stem":584},"Recherche textuelle — l'algorithme de Boyer-Moore","\u002Fnsi-tale\u002Fte-algorithmique\u002Frecherche-textuelle","2.nsi-tale\u002Fte-algorithmique\u002F5.recherche-textuelle",{"id":586,"title":319,"bo":587,"body":589,"description":2020,"eval":2021,"extension":2022,"labo":2021,"meta":2023,"navigation":1012,"path":320,"quizzes":2024,"readingTime":657,"seo":2033,"stem":321,"tp":2021,"__hash__":2034},"cours\u002F1.nsi-1ere\u002Fpd-tables-donnees\u002F3.tri.md",[588],"PD04",{"type":590,"value":591,"toc":2006},"minimark",[592,597,610,613,628,634,644,733,749,783,787,804,817,856,1106,1117,1130,1134,1141,1328,1331,1339,1368,1372,1378,1465,1491,1495,1513,1520,1529,1533,1536,1637,1690,1699,1770,1836,1840,1890,1894,2002],[593,594,596],"h2",{"id":595},"introduction","Introduction",[598,599,600,601,605,606,609],"p",{},"Trier une table, c'est en réordonner les lignes selon une ",[602,603,604],"strong",{},"colonne"," (ou\nplusieurs). Cette opération courante a deux utilités principales : rendre\nles données ",[602,607,608],{},"lisibles"," pour un humain (classement alphabétique, palmarès)\net préparer la table à d'autres opérations (recherche dichotomique, jointure\nordonnée).",[598,611,612],{},"Imaginez une main de cartes qu'on aligne par valeur croissante, ou une liste\nde prénoms qu'on range par ordre alphabétique : trier, c'est exactement cela\n— mais à grande échelle et selon n'importe quel critère choisi.",[598,614,615,618,619,622,623,627],{},[616,617],"bo-ref",{"code":588}," précise que vous pouvez utiliser une ",[602,620,621],{},"fonction de tri\nintégrée"," à la bibliothèque standard — pas besoin de réécrire un algorithme\nde tri. C'est ce que nous ferons avec la fonction ",[624,625,626],"code",{},"sorted()"," de Python.",[593,629,631,632],{"id":630},"la-fonction-sorted","La fonction ",[624,633,626],{},[598,635,636,639,640,643],{},[624,637,638],{},"sorted(iterable)"," renvoie une ",[602,641,642],{},"nouvelle liste"," contenant les éléments de\nl'itérable, triés par ordre croissant. C'est la version la plus simple :",[645,646,651],"pre",{"className":647,"code":648,"language":649,"meta":650,"style":650},"language-python shiki shiki-themes github-light github-light github-dark","nombres = [3, 1, 4, 1, 5, 9, 2, 6]\nprint(sorted(nombres))\n# [1, 1, 2, 3, 4, 5, 6, 9]\n","python","",[624,652,653,711,726],{"__ignoreMap":650},[654,655,658,662,666,669,673,676,679,681,684,686,688,690,693,695,698,700,703,705,708],"span",{"class":656,"line":657},"line",1,[654,659,661],{"class":660},"sxrX7","nombres ",[654,663,665],{"class":664},"s8jYJ","=",[654,667,668],{"class":660}," [",[654,670,672],{"class":671},"sBjJW","3",[654,674,675],{"class":660},", ",[654,677,678],{"class":671},"1",[654,680,675],{"class":660},[654,682,683],{"class":671},"4",[654,685,675],{"class":660},[654,687,678],{"class":671},[654,689,675],{"class":660},[654,691,692],{"class":671},"5",[654,694,675],{"class":660},[654,696,697],{"class":671},"9",[654,699,675],{"class":660},[654,701,702],{"class":671},"2",[654,704,675],{"class":660},[654,706,707],{"class":671},"6",[654,709,710],{"class":660},"]\n",[654,712,714,717,720,723],{"class":656,"line":713},2,[654,715,716],{"class":671},"print",[654,718,719],{"class":660},"(",[654,721,722],{"class":671},"sorted",[654,724,725],{"class":660},"(nombres))\n",[654,727,729],{"class":656,"line":728},3,[654,730,732],{"class":731},"sCsY4","# [1, 1, 2, 3, 4, 5, 6, 9]\n",[734,735,736],"note",{},[598,737,738,740,741,744,745,748],{},[624,739,626],{}," ",[602,742,743],{},"ne modifie pas"," la liste d'origine — elle retourne une copie\ntriée. Pour un tri en place qui modifie la liste, utilisez la méthode\n",[624,746,747],{},"liste.sort()",".",[750,751,754,764],"self-eval-qcm",{"correct":678,"explanation":752,"slug":753},"sorted() renvoie une nouvelle liste triée en ordre croissant par défaut.","tri-c1",[755,756,757],"template",{"v-slot:question":650},[598,758,759,760,763],{},"Que retourne sorted(",[654,761,762],{},"3, 1, 2",") ?",[755,765,766],{"v-slot:choices":650},[767,768,769,773,778],"ul",{},[770,771,772],"li",{},"None",[770,774,775],{},[654,776,777],{},"1, 2, 3",[770,779,780],{},[654,781,782],{},"3, 2, 1",[593,784,786],{"id":785},"trier-une-table-par-une-colonne","Trier une table par une colonne",[598,788,789,790,792,793,796,797,800,801,748],{},"Sur une liste de dictionnaires, ",[624,791,626],{}," seul ne sait pas comparer — un\ndictionnaire ",[624,794,795],{},"{\"nom\": \"Alice\", ...}"," n'a pas d'ordre intrinsèque. Il faut\nindiquer ",[602,798,799],{},"selon quelle colonne"," trier, via le paramètre ",[624,802,803],{},"key=",[598,805,806,808,809,812,813,816],{},[624,807,803],{}," attend une ",[602,810,811],{},"fonction"," qui, appliquée à une ligne, retourne la valeur\nà utiliser pour la comparaison. On utilise pour cela une ",[602,814,815],{},"fonction lambda","\nou une fonction nommée :",[734,818,819],{},[598,820,821,740,824,827,828,831,832,835,836,839,840,843,844,847,848,851,852,855],{},[602,822,823],{},"En attendant le cours PG.",[624,825,826],{},"lambda x: ..."," se lit comme une ",[602,829,830],{},"mini-fonction\nsans nom"," : ",[624,833,834],{},"lambda e: e[\"nom\"]"," équivaut à une fonction qui prendrait ",[624,837,838],{},"e","\nen paramètre et renverrait ",[624,841,842],{},"e[\"nom\"]",". Pratique quand la fonction est trop\ncourte pour mériter un ",[624,845,846],{},"def",". La notion ",[624,849,850],{},"lambda"," est étudiée en détail au\nchapitre ",[602,853,854],{},"PG — Langages et programmation"," ; ici, retenez juste la lecture.",[645,857,859],{"className":647,"code":858,"language":649,"meta":650,"style":650},"eleves = [\n    {\"nom\": \"Chloé\",   \"age\": 16, \"classe\": \"1G2\"},\n    {\"nom\": \"Alice\",   \"age\": 16, \"classe\": \"1G2\"},\n    {\"nom\": \"Dimitri\", \"age\": 17, \"classe\": \"1G2\"},\n    {\"nom\": \"Bob\",     \"age\": 17, \"classe\": \"1G3\"},\n]\n\n# Tri par nom (ordre alphabétique)\npar_nom = sorted(eleves, key=lambda e: e[\"nom\"])\n\nfor e in par_nom:\n    print(e[\"nom\"])\n# Alice\n# Bob\n# Chloé\n# Dimitri\n",[624,860,861,871,910,939,970,1002,1007,1014,1020,1049,1054,1069,1082,1088,1094,1100],{"__ignoreMap":650},[654,862,863,866,868],{"class":656,"line":657},[654,864,865],{"class":660},"eleves ",[654,867,665],{"class":664},[654,869,870],{"class":660}," [\n",[654,872,873,876,880,883,886,889,892,894,897,899,902,904,907],{"class":656,"line":713},[654,874,875],{"class":660},"    {",[654,877,879],{"class":878},"sIIMD","\"nom\"",[654,881,882],{"class":660},": ",[654,884,885],{"class":878},"\"Chloé\"",[654,887,888],{"class":660},",   ",[654,890,891],{"class":878},"\"age\"",[654,893,882],{"class":660},[654,895,896],{"class":671},"16",[654,898,675],{"class":660},[654,900,901],{"class":878},"\"classe\"",[654,903,882],{"class":660},[654,905,906],{"class":878},"\"1G2\"",[654,908,909],{"class":660},"},\n",[654,911,912,914,916,918,921,923,925,927,929,931,933,935,937],{"class":656,"line":728},[654,913,875],{"class":660},[654,915,879],{"class":878},[654,917,882],{"class":660},[654,919,920],{"class":878},"\"Alice\"",[654,922,888],{"class":660},[654,924,891],{"class":878},[654,926,882],{"class":660},[654,928,896],{"class":671},[654,930,675],{"class":660},[654,932,901],{"class":878},[654,934,882],{"class":660},[654,936,906],{"class":878},[654,938,909],{"class":660},[654,940,942,944,946,948,951,953,955,957,960,962,964,966,968],{"class":656,"line":941},4,[654,943,875],{"class":660},[654,945,879],{"class":878},[654,947,882],{"class":660},[654,949,950],{"class":878},"\"Dimitri\"",[654,952,675],{"class":660},[654,954,891],{"class":878},[654,956,882],{"class":660},[654,958,959],{"class":671},"17",[654,961,675],{"class":660},[654,963,901],{"class":878},[654,965,882],{"class":660},[654,967,906],{"class":878},[654,969,909],{"class":660},[654,971,973,975,977,979,982,985,987,989,991,993,995,997,1000],{"class":656,"line":972},5,[654,974,875],{"class":660},[654,976,879],{"class":878},[654,978,882],{"class":660},[654,980,981],{"class":878},"\"Bob\"",[654,983,984],{"class":660},",     ",[654,986,891],{"class":878},[654,988,882],{"class":660},[654,990,959],{"class":671},[654,992,675],{"class":660},[654,994,901],{"class":878},[654,996,882],{"class":660},[654,998,999],{"class":878},"\"1G3\"",[654,1001,909],{"class":660},[654,1003,1005],{"class":656,"line":1004},6,[654,1006,710],{"class":660},[654,1008,1010],{"class":656,"line":1009},7,[654,1011,1013],{"emptyLinePlaceholder":1012},true,"\n",[654,1015,1017],{"class":656,"line":1016},8,[654,1018,1019],{"class":731},"# Tri par nom (ordre alphabétique)\n",[654,1021,1023,1026,1028,1031,1034,1038,1041,1044,1046],{"class":656,"line":1022},9,[654,1024,1025],{"class":660},"par_nom ",[654,1027,665],{"class":664},[654,1029,1030],{"class":671}," sorted",[654,1032,1033],{"class":660},"(eleves, ",[654,1035,1037],{"class":1036},"sP4rz","key",[654,1039,1040],{"class":664},"=lambda",[654,1042,1043],{"class":660}," e: e[",[654,1045,879],{"class":878},[654,1047,1048],{"class":660},"])\n",[654,1050,1052],{"class":656,"line":1051},10,[654,1053,1013],{"emptyLinePlaceholder":1012},[654,1055,1057,1060,1063,1066],{"class":656,"line":1056},11,[654,1058,1059],{"class":664},"for",[654,1061,1062],{"class":660}," e ",[654,1064,1065],{"class":664},"in",[654,1067,1068],{"class":660}," par_nom:\n",[654,1070,1072,1075,1078,1080],{"class":656,"line":1071},12,[654,1073,1074],{"class":671},"    print",[654,1076,1077],{"class":660},"(e[",[654,1079,879],{"class":878},[654,1081,1048],{"class":660},[654,1083,1085],{"class":656,"line":1084},13,[654,1086,1087],{"class":731},"# Alice\n",[654,1089,1091],{"class":656,"line":1090},14,[654,1092,1093],{"class":731},"# Bob\n",[654,1095,1097],{"class":656,"line":1096},15,[654,1098,1099],{"class":731},"# Chloé\n",[654,1101,1103],{"class":656,"line":1102},16,[654,1104,1105],{"class":731},"# Dimitri\n",[598,1107,1108,1110,1111,1113,1114,1116],{},[624,1109,834],{}," est une mini-fonction sans nom, qu'on définit à la\nvolée : appliquée à une ligne ",[624,1112,838],{},", elle retourne ",[624,1115,842],{},". C'est elle qui\nsert de critère de comparaison.",[1118,1119,1120],"tip",{},[598,1121,1122,1123,1126,1127,1129],{},"On peut aussi utiliser ",[624,1124,1125],{},"operator.itemgetter(\"nom\")"," qui fait la même chose\nmais demande un import. ",[624,1128,850],{}," est suffisant pour ce qu'on fait.",[593,1131,1133],{"id":1132},"tri-par-colonne-numérique","Tri par colonne numérique",[598,1135,1136,1137,1140],{},"Trier par âge fonctionne exactement de la même façon, à condition que la\ncolonne soit ",[602,1138,1139],{},"numérique"," :",[1142,1143,1144],"python-snippet",{},[645,1145,1147],{"className":647,"code":1146,"language":649,"meta":650,"style":650},"eleves = [\n    {\"nom\": \"Chloé\",   \"age\": 16, \"classe\": \"1G2\"},\n    {\"nom\": \"Alice\",   \"age\": 16, \"classe\": \"1G2\"},\n    {\"nom\": \"Dimitri\", \"age\": 17, \"classe\": \"1G2\"},\n    {\"nom\": \"Bob\",     \"age\": 17, \"classe\": \"1G3\"},\n]\n\npar_age = sorted(eleves, key=lambda e: e[\"age\"])\n\nfor e in par_age:\n    print(e[\"age\"], e[\"nom\"])\n",[624,1148,1149,1157,1185,1213,1241,1269,1273,1277,1298,1302,1313],{"__ignoreMap":650},[654,1150,1151,1153,1155],{"class":656,"line":657},[654,1152,865],{"class":660},[654,1154,665],{"class":664},[654,1156,870],{"class":660},[654,1158,1159,1161,1163,1165,1167,1169,1171,1173,1175,1177,1179,1181,1183],{"class":656,"line":713},[654,1160,875],{"class":660},[654,1162,879],{"class":878},[654,1164,882],{"class":660},[654,1166,885],{"class":878},[654,1168,888],{"class":660},[654,1170,891],{"class":878},[654,1172,882],{"class":660},[654,1174,896],{"class":671},[654,1176,675],{"class":660},[654,1178,901],{"class":878},[654,1180,882],{"class":660},[654,1182,906],{"class":878},[654,1184,909],{"class":660},[654,1186,1187,1189,1191,1193,1195,1197,1199,1201,1203,1205,1207,1209,1211],{"class":656,"line":728},[654,1188,875],{"class":660},[654,1190,879],{"class":878},[654,1192,882],{"class":660},[654,1194,920],{"class":878},[654,1196,888],{"class":660},[654,1198,891],{"class":878},[654,1200,882],{"class":660},[654,1202,896],{"class":671},[654,1204,675],{"class":660},[654,1206,901],{"class":878},[654,1208,882],{"class":660},[654,1210,906],{"class":878},[654,1212,909],{"class":660},[654,1214,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239],{"class":656,"line":941},[654,1216,875],{"class":660},[654,1218,879],{"class":878},[654,1220,882],{"class":660},[654,1222,950],{"class":878},[654,1224,675],{"class":660},[654,1226,891],{"class":878},[654,1228,882],{"class":660},[654,1230,959],{"class":671},[654,1232,675],{"class":660},[654,1234,901],{"class":878},[654,1236,882],{"class":660},[654,1238,906],{"class":878},[654,1240,909],{"class":660},[654,1242,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267],{"class":656,"line":972},[654,1244,875],{"class":660},[654,1246,879],{"class":878},[654,1248,882],{"class":660},[654,1250,981],{"class":878},[654,1252,984],{"class":660},[654,1254,891],{"class":878},[654,1256,882],{"class":660},[654,1258,959],{"class":671},[654,1260,675],{"class":660},[654,1262,901],{"class":878},[654,1264,882],{"class":660},[654,1266,999],{"class":878},[654,1268,909],{"class":660},[654,1270,1271],{"class":656,"line":1004},[654,1272,710],{"class":660},[654,1274,1275],{"class":656,"line":1009},[654,1276,1013],{"emptyLinePlaceholder":1012},[654,1278,1279,1282,1284,1286,1288,1290,1292,1294,1296],{"class":656,"line":1016},[654,1280,1281],{"class":660},"par_age ",[654,1283,665],{"class":664},[654,1285,1030],{"class":671},[654,1287,1033],{"class":660},[654,1289,1037],{"class":1036},[654,1291,1040],{"class":664},[654,1293,1043],{"class":660},[654,1295,891],{"class":878},[654,1297,1048],{"class":660},[654,1299,1300],{"class":656,"line":1022},[654,1301,1013],{"emptyLinePlaceholder":1012},[654,1303,1304,1306,1308,1310],{"class":656,"line":1051},[654,1305,1059],{"class":664},[654,1307,1062],{"class":660},[654,1309,1065],{"class":664},[654,1311,1312],{"class":660}," par_age:\n",[654,1314,1315,1317,1319,1321,1324,1326],{"class":656,"line":1056},[654,1316,1074],{"class":671},[654,1318,1077],{"class":660},[654,1320,891],{"class":878},[654,1322,1323],{"class":660},"], e[",[654,1325,879],{"class":878},[654,1327,1048],{"class":660},[598,1329,1330],{},"Sortie :",[645,1332,1337],{"className":1333,"code":1335,"language":1336,"meta":650},[1334],"language-text","16 Chloé\n16 Alice\n17 Dimitri\n17 Bob\n","text",[624,1338,1335],{"__ignoreMap":650},[1340,1341,1342],"warning",{},[598,1343,1344,1345,1348,1349,1352,1353,1356,1357,1360,1361,1364,1365,748],{},"Si la colonne ",[624,1346,1347],{},"age"," est encore une chaîne (ex. ",[624,1350,1351],{},"\"17\"","), le tri se fait dans\nl'ordre ",[602,1354,1355],{},"lexicographique"," des chaînes : ",[624,1358,1359],{},"\"10\" \u003C \"9\""," ! Convertir avant\navec ",[624,1362,1363],{},"int()"," ou utiliser ",[624,1366,1367],{},"key=lambda e: int(e[\"age\"])",[593,1369,1371],{"id":1370},"tri-descendant","Tri descendant",[598,1373,1374,1375,1140],{},"Pour inverser l'ordre, ajouter ",[624,1376,1377],{},"reverse=True",[645,1379,1381],{"className":647,"code":1380,"language":649,"meta":650,"style":650},"par_age_desc = sorted(eleves, key=lambda e: e[\"age\"], reverse=True)\n\nfor e in par_age_desc:\n    print(e[\"age\"], e[\"nom\"])\n# 17 Dimitri\n# 17 Bob\n# 16 Chloé\n# 16 Alice\n",[624,1382,1383,1416,1420,1431,1445,1450,1455,1460],{"__ignoreMap":650},[654,1384,1385,1388,1390,1392,1394,1396,1398,1400,1402,1405,1408,1410,1413],{"class":656,"line":657},[654,1386,1387],{"class":660},"par_age_desc ",[654,1389,665],{"class":664},[654,1391,1030],{"class":671},[654,1393,1033],{"class":660},[654,1395,1037],{"class":1036},[654,1397,1040],{"class":664},[654,1399,1043],{"class":660},[654,1401,891],{"class":878},[654,1403,1404],{"class":660},"], ",[654,1406,1407],{"class":1036},"reverse",[654,1409,665],{"class":664},[654,1411,1412],{"class":671},"True",[654,1414,1415],{"class":660},")\n",[654,1417,1418],{"class":656,"line":713},[654,1419,1013],{"emptyLinePlaceholder":1012},[654,1421,1422,1424,1426,1428],{"class":656,"line":728},[654,1423,1059],{"class":664},[654,1425,1062],{"class":660},[654,1427,1065],{"class":664},[654,1429,1430],{"class":660}," par_age_desc:\n",[654,1432,1433,1435,1437,1439,1441,1443],{"class":656,"line":941},[654,1434,1074],{"class":671},[654,1436,1077],{"class":660},[654,1438,891],{"class":878},[654,1440,1323],{"class":660},[654,1442,879],{"class":878},[654,1444,1048],{"class":660},[654,1446,1447],{"class":656,"line":972},[654,1448,1449],{"class":731},"# 17 Dimitri\n",[654,1451,1452],{"class":656,"line":1004},[654,1453,1454],{"class":731},"# 17 Bob\n",[654,1456,1457],{"class":656,"line":1009},[654,1458,1459],{"class":731},"# 16 Chloé\n",[654,1461,1462],{"class":656,"line":1016},[654,1463,1464],{"class":731},"# 16 Alice\n",[750,1466,1470,1475],{"correct":1467,"explanation":1468,"slug":1469},"0","Le paramètre reverse=True inverse l'ordre du tri standard.","tri-c2",[755,1471,1472],{"v-slot:question":650},[598,1473,1474],{},"Comment trier la table par nom dans l'ordre Z→A ?",[755,1476,1477],{"v-slot:choices":650},[767,1478,1479,1485,1488],{},[770,1480,1481,1482,1484],{},"sorted(t, key=lambda e: e",[654,1483,879],{},", reverse=True)",[770,1486,1487],{},"sorted(t, reverse=True, key=\"nom\")",[770,1489,1490],{},"sorted(t).reverse()",[593,1492,1494],{"id":1493},"ordre-stable","Ordre stable",[598,1496,1497,1498,1501,1502,1504,1505,1508,1509,1512],{},"Une propriété ",[602,1499,1500],{},"essentielle"," de ",[624,1503,626],{}," : c'est un ",[602,1506,1507],{},"tri stable",". Cela\nsignifie que les éléments ayant la même valeur de clé ",[602,1510,1511],{},"conservent leur\nordre relatif d'origine",". C'est l'équivalent d'un bibliothécaire qui range\ndes livres par auteur sans bouleverser l'ordre des éditions dans chaque\nauteur.",[598,1514,1515,1516,1519],{},"Reprenez l'exemple précédent. Dans la table d'entrée, Chloé apparaît ",[602,1517,1518],{},"avant","\nAlice. Après le tri par âge, Chloé et Alice ont toutes deux 16 ans — et le\ntri stable les place dans le même ordre que dans l'entrée : Chloé d'abord,\npuis Alice.",[734,1521,1522],{},[598,1523,1524,1525,1528],{},"Cette stabilité a une conséquence pratique très utile : pour trier par\nplusieurs critères, il ",[602,1526,1527],{},"suffit de trier plusieurs fois",", du critère le\nmoins prioritaire au plus prioritaire. Le tri stable préserve l'ordre des\ntris précédents pour les égalités.",[593,1530,1532],{"id":1531},"tri-par-plusieurs-critères","Tri par plusieurs critères",[598,1534,1535],{},"Tri par classe, puis par nom à l'intérieur de chaque classe :",[645,1537,1539],{"className":647,"code":1538,"language":649,"meta":650,"style":650},"# Méthode 1 : tris successifs (du moins prioritaire au plus prioritaire)\npar_nom = sorted(eleves, key=lambda e: e[\"nom\"])\npar_classe_puis_nom = sorted(par_nom, key=lambda e: e[\"classe\"])\n\nfor e in par_classe_puis_nom:\n    print(e[\"classe\"], e[\"nom\"])\n# 1G2 Alice\n# 1G2 Chloé\n# 1G2 Dimitri\n# 1G3 Bob\n",[624,1540,1541,1546,1566,1588,1592,1603,1617,1622,1627,1632],{"__ignoreMap":650},[654,1542,1543],{"class":656,"line":657},[654,1544,1545],{"class":731},"# Méthode 1 : tris successifs (du moins prioritaire au plus prioritaire)\n",[654,1547,1548,1550,1552,1554,1556,1558,1560,1562,1564],{"class":656,"line":713},[654,1549,1025],{"class":660},[654,1551,665],{"class":664},[654,1553,1030],{"class":671},[654,1555,1033],{"class":660},[654,1557,1037],{"class":1036},[654,1559,1040],{"class":664},[654,1561,1043],{"class":660},[654,1563,879],{"class":878},[654,1565,1048],{"class":660},[654,1567,1568,1571,1573,1575,1578,1580,1582,1584,1586],{"class":656,"line":728},[654,1569,1570],{"class":660},"par_classe_puis_nom ",[654,1572,665],{"class":664},[654,1574,1030],{"class":671},[654,1576,1577],{"class":660},"(par_nom, ",[654,1579,1037],{"class":1036},[654,1581,1040],{"class":664},[654,1583,1043],{"class":660},[654,1585,901],{"class":878},[654,1587,1048],{"class":660},[654,1589,1590],{"class":656,"line":941},[654,1591,1013],{"emptyLinePlaceholder":1012},[654,1593,1594,1596,1598,1600],{"class":656,"line":972},[654,1595,1059],{"class":664},[654,1597,1062],{"class":660},[654,1599,1065],{"class":664},[654,1601,1602],{"class":660}," par_classe_puis_nom:\n",[654,1604,1605,1607,1609,1611,1613,1615],{"class":656,"line":1004},[654,1606,1074],{"class":671},[654,1608,1077],{"class":660},[654,1610,901],{"class":878},[654,1612,1323],{"class":660},[654,1614,879],{"class":878},[654,1616,1048],{"class":660},[654,1618,1619],{"class":656,"line":1009},[654,1620,1621],{"class":731},"# 1G2 Alice\n",[654,1623,1624],{"class":656,"line":1016},[654,1625,1626],{"class":731},"# 1G2 Chloé\n",[654,1628,1629],{"class":656,"line":1022},[654,1630,1631],{"class":731},"# 1G2 Dimitri\n",[654,1633,1634],{"class":656,"line":1051},[654,1635,1636],{"class":731},"# 1G3 Bob\n",[1118,1638,1639,1646],{},[598,1640,1641,1642,1645],{},"Méthode plus directe : utiliser un ",[602,1643,1644],{},"tuple"," comme clé. Python compare les\ntuples lexicographiquement (premier élément d'abord, second en cas\nd'égalité, etc.) :",[645,1647,1649],{"className":647,"code":1648,"language":649,"meta":650,"style":650},"par_classe_puis_nom = sorted(\n    eleves,\n    key=lambda e: (e[\"classe\"], e[\"nom\"]),\n)\n",[624,1650,1651,1662,1667,1686],{"__ignoreMap":650},[654,1652,1653,1655,1657,1659],{"class":656,"line":657},[654,1654,1570],{"class":660},[654,1656,665],{"class":664},[654,1658,1030],{"class":671},[654,1660,1661],{"class":660},"(\n",[654,1663,1664],{"class":656,"line":713},[654,1665,1666],{"class":660},"    eleves,\n",[654,1668,1669,1672,1674,1677,1679,1681,1683],{"class":656,"line":728},[654,1670,1671],{"class":1036},"    key",[654,1673,1040],{"class":664},[654,1675,1676],{"class":660}," e: (e[",[654,1678,901],{"class":878},[654,1680,1323],{"class":660},[654,1682,879],{"class":878},[654,1684,1685],{"class":660},"]),\n",[654,1687,1688],{"class":656,"line":941},[654,1689,1415],{"class":660},[593,1691,1693,1696,1697],{"id":1692},"sort-vs-sorted",[624,1694,1695],{},"sort()"," vs ",[624,1698,626],{},[1700,1701,1702,1721],"table",{},[1703,1704,1705],"thead",{},[1706,1707,1708,1712,1717],"tr",{},[1709,1710,1711],"th",{},"Aspect",[1709,1713,1714],{},[624,1715,1716],{},"sorted(liste)",[1709,1718,1719],{},[624,1720,747],{},[1722,1723,1724,1737,1748,1759],"tbody",{},[1706,1725,1726,1730,1733],{},[1727,1728,1729],"td",{},"Type de retour",[1727,1731,1732],{},"Nouvelle liste triée",[1727,1734,1735],{},[624,1736,772],{},[1706,1738,1739,1742,1745],{},[1727,1740,1741],{},"Effet sur l'original",[1727,1743,1744],{},"Aucun",[1727,1746,1747],{},"Trié en place",[1706,1749,1750,1753,1756],{},[1727,1751,1752],{},"Utilisable sur",[1727,1754,1755],{},"Tout itérable",[1727,1757,1758],{},"Liste seulement",[1706,1760,1761,1764,1767],{},[1727,1762,1763],{},"Quand l'utiliser",[1727,1765,1766],{},"Si on veut garder l'original",[1727,1768,1769],{},"Si on veut économiser la mémoire",[645,1771,1773],{"className":647,"code":1772,"language":649,"meta":650,"style":650},"nombres = [3, 1, 2]\nnombres.sort()\nprint(nombres)  # [1, 2, 3]\n\nnombres.sort(reverse=True)\nprint(nombres)  # [3, 2, 1]\n",[624,1774,1775,1795,1800,1810,1814,1827],{"__ignoreMap":650},[654,1776,1777,1779,1781,1783,1785,1787,1789,1791,1793],{"class":656,"line":657},[654,1778,661],{"class":660},[654,1780,665],{"class":664},[654,1782,668],{"class":660},[654,1784,672],{"class":671},[654,1786,675],{"class":660},[654,1788,678],{"class":671},[654,1790,675],{"class":660},[654,1792,702],{"class":671},[654,1794,710],{"class":660},[654,1796,1797],{"class":656,"line":713},[654,1798,1799],{"class":660},"nombres.sort()\n",[654,1801,1802,1804,1807],{"class":656,"line":728},[654,1803,716],{"class":671},[654,1805,1806],{"class":660},"(nombres)  ",[654,1808,1809],{"class":731},"# [1, 2, 3]\n",[654,1811,1812],{"class":656,"line":941},[654,1813,1013],{"emptyLinePlaceholder":1012},[654,1815,1816,1819,1821,1823,1825],{"class":656,"line":972},[654,1817,1818],{"class":660},"nombres.sort(",[654,1820,1407],{"class":1036},[654,1822,665],{"class":664},[654,1824,1412],{"class":671},[654,1826,1415],{"class":660},[654,1828,1829,1831,1833],{"class":656,"line":1004},[654,1830,716],{"class":671},[654,1832,1806],{"class":660},[654,1834,1835],{"class":731},"# [3, 2, 1]\n",[593,1837,1839],{"id":1838},"cas-particuliers-et-pièges","Cas particuliers et pièges",[767,1841,1842,1863,1878],{},[770,1843,1844,831,1847,1850,1851,1854,1855,1858,1859,1862],{},[602,1845,1846],{},"Tri sur une chaîne accentuée",[624,1848,1849],{},"\"é\""," n'est pas placé entre ",[624,1852,1853],{},"\"e\""," et\n",[624,1856,1857],{},"\"f\""," mais après tous les caractères ASCII. Pour un tri linguistique\ncorrect, utiliser le module ",[624,1860,1861],{},"locale"," (hors programme).",[770,1864,1865,831,1870,1873,1874,1877],{},[602,1866,1867,1868],{},"Mélanger types et ",[624,1869,772],{},[624,1871,1872],{},"sorted([1, None, 2])"," lève ",[624,1875,1876],{},"TypeError",".\nFiltrer ou normaliser avant.",[770,1879,1880,831,1883,1886,1887,748],{},[602,1881,1882],{},"Sensibilité à la casse",[624,1884,1885],{},"\"alice\" > \"Bob\""," en ASCII (minuscules > majuscules).\nPour un tri insensible : ",[624,1888,1889],{},"key=lambda e: e[\"nom\"].lower()",[593,1891,1893],{"id":1892},"pour-aller-plus-loin","Pour aller plus loin",[598,1895,1896,1897,1900,1901,1903,1904,748],{},"Les algorithmes de tri que vous étudierez en algorithmique\n(",[616,1898],{"code":1899},"PH05"," : tri par insertion, tri par sélection) sont au cœur de\nce que fait ",[624,1902,626],{}," — mais Python utilise en réalité un tri plus\nsophistiqué (Timsort) dont la complexité est ",[654,1905,1908,1950],{"className":1906},[1907],"katex",[654,1909,1912],{"className":1910},[1911],"katex-mathml",[1913,1914,1916],"math",{"xmlns":1915},"http:\u002F\u002Fwww.w3.org\u002F1998\u002FMath\u002FMathML",[1917,1918,1919,1945],"semantics",{},[1920,1921,1922,1927,1931,1934,1937,1940,1942],"mrow",{},[1923,1924,1926],"mi",{"mathvariant":1925},"script","O",[1928,1929,719],"mo",{"stretchy":1930},"false",[1923,1932,1933],{},"n",[1923,1935,1936],{},"log",[1928,1938,1939],{},"⁡",[1923,1941,1933],{},[1928,1943,1944],{"stretchy":1930},")",[1946,1947,1949],"annotation",{"encoding":1948},"application\u002Fx-tex","\\mathcal{O}(n \\log n)",[654,1951,1955],{"className":1952,"ariaHidden":1954},[1953],"katex-html","true",[654,1956,1959,1964,1970,1974,1978,1983,1992,1995,1998],{"className":1957},[1958],"base",[654,1960],{"className":1961,"style":1963},[1962],"strut","height:1em;vertical-align:-0.25em;",[654,1965,1926],{"className":1966,"style":1969},[1967,1968],"mord","mathcal","margin-right:0.0278em;",[654,1971,719],{"className":1972},[1973],"mopen",[654,1975,1933],{"className":1976},[1967,1977],"mathnormal",[654,1979],{"className":1980,"style":1982},[1981],"mspace","margin-right:0.1667em;",[654,1984,1987,1988],{"className":1985},[1986],"mop","lo",[654,1989,1991],{"style":1990},"margin-right:0.0139em;","g",[654,1993],{"className":1994,"style":1982},[1981],[654,1996,1933],{"className":1997},[1967,1977],[654,1999,1944],{"className":2000},[2001],"mclose",[2003,2004,2005],"style",{},"html pre.shiki code .sxrX7, html code.shiki .sxrX7{--shiki-light:#24292E;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .s8jYJ, html code.shiki .s8jYJ{--shiki-light:#D73A49;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sBjJW, html code.shiki .sBjJW{--shiki-light:#005CC5;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sCsY4, html code.shiki .sCsY4{--shiki-light:#6A737D;--shiki-default:#6A737D;--shiki-dark:#6A737D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sIIMD, html code.shiki .sIIMD{--shiki-light:#032F62;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sP4rz, html code.shiki .sP4rz{--shiki-light:#E36209;--shiki-default:#E36209;--shiki-dark:#FFAB70}",{"title":650,"searchDepth":713,"depth":713,"links":2007},[2008,2009,2011,2012,2013,2014,2015,2016,2018,2019],{"id":595,"depth":713,"text":596},{"id":630,"depth":713,"text":2010},"La fonction sorted()",{"id":785,"depth":713,"text":786},{"id":1132,"depth":713,"text":1133},{"id":1370,"depth":713,"text":1371},{"id":1493,"depth":713,"text":1494},{"id":1531,"depth":713,"text":1532},{"id":1692,"depth":713,"text":2017},"sort() vs sorted()",{"id":1838,"depth":713,"text":1839},{"id":1892,"depth":713,"text":1893},"Tri par colonne avec `sorted()` et `key=`, ordre stable, tri multi-critères.",null,"md",{},[2025,2030],{"slug":753,"kind":2026,"question":2027,"choices":2028,"correct":678,"multi":2029,"explanation":752},"qcm","Que retourne sorted(3, 1, 2) ?",[772,777,782],false,{"slug":1469,"kind":2026,"question":1474,"choices":2031,"correct":1467,"multi":2029,"explanation":1468},[2032,1487,1490],"sorted(t, key=lambda e: e\"nom\", reverse=True)",{"title":319,"description":2020},"QNdy5nC73WOOjJhXBCHk1Bo_4uhWg-ANiHGEE7VDn4I",{"id":2036,"title":2037,"bo":2038,"body":2039,"description":2409,"eval":2021,"extension":2022,"labo":2021,"meta":2410,"navigation":2029,"path":2411,"quizzes":2412,"readingTime":657,"seo":2413,"stem":2414,"tp":2021,"__hash__":2415},"coursMemo\u002F1.nsi-1ere\u002Fpd-tables-donnees\u002F3.tri.memo.md","Trier une table — l'essentiel",[588],{"type":590,"value":2040,"toc":2402},[2041,2045,2117,2121,2167,2171,2235,2239,2269,2273,2399],[593,2042,2044],{"id":2043},"en-une-phrase","En une phrase",[598,2046,2047,2053,2054,748],{},[602,2048,2049,2050],{},"Trier une table = ",[624,2051,2052],{},"sorted(table, key=lambda e: e[\"colonne\"])",", tri stable\nen ",[654,2055,2057,2082],{"className":2056},[1907],[654,2058,2060],{"className":2059},[1911],[1913,2061,2062],{"xmlns":1915},[1917,2063,2064,2080],{},[1920,2065,2066,2068,2070,2072,2074,2076,2078],{},[1923,2067,1926],{"mathvariant":1925},[1928,2069,719],{"stretchy":1930},[1923,2071,1933],{},[1923,2073,1936],{},[1928,2075,1939],{},[1923,2077,1933],{},[1928,2079,1944],{"stretchy":1930},[1946,2081,1949],{"encoding":1948},[654,2083,2085],{"className":2084,"ariaHidden":1954},[1953],[654,2086,2088,2091,2094,2097,2100,2103,2108,2111,2114],{"className":2087},[1958],[654,2089],{"className":2090,"style":1963},[1962],[654,2092,1926],{"className":2093,"style":1969},[1967,1968],[654,2095,719],{"className":2096},[1973],[654,2098,1933],{"className":2099},[1967,1977],[654,2101],{"className":2102,"style":1982},[1981],[654,2104,1987,2106],{"className":2105},[1986],[654,2107,1991],{"style":1990},[654,2109],{"className":2110,"style":1982},[1981],[654,2112,1933],{"className":2113},[1967,1977],[654,2115,1944],{"className":2116},[2001],[593,2118,2120],{"id":2119},"à-mémoriser","À mémoriser",[767,2122,2123,2133,2146,2154,2161],{},[770,2124,2125,2129,2130,2132],{},[602,2126,2127],{},[624,2128,638],{}," retourne une ",[602,2131,642],{}," triée.",[770,2134,2135,2139,2140,2143,2144,748],{},[602,2136,2137],{},[624,2138,747],{}," trie ",[602,2141,2142],{},"en place",", retourne ",[624,2145,772],{},[770,2147,2148,2153],{},[602,2149,2150],{},[624,2151,2152],{},"key=fonction"," indique selon quoi comparer.",[770,2155,2156,2160],{},[602,2157,2158],{},[624,2159,1377],{}," inverse l'ordre.",[770,2162,2163,2166],{},[602,2164,2165],{},"Tri stable"," : les égalités préservent l'ordre d'origine.",[593,2168,2170],{"id":2169},"à-savoir-reconnaître","À savoir reconnaître",[1700,2172,2173,2183],{},[1703,2174,2175],{},[1706,2176,2177,2180],{},[1709,2178,2179],{},"Situation",[1709,2181,2182],{},"Action",[1722,2184,2185,2195,2204,2213,2226],{},[1706,2186,2187,2190],{},[1727,2188,2189],{},"Tri alphabétique par nom",[1727,2191,2192],{},[624,2193,2194],{},"key=lambda e: e[\"nom\"]",[1706,2196,2197,2199],{},[1727,2198,1371],{},[1727,2200,2201,2202],{},"ajouter ",[624,2203,1377],{},[1706,2205,2206,2209],{},[1727,2207,2208],{},"Tri sur colonne stockée en chaîne",[1727,2210,2211],{},[624,2212,1367],{},[1706,2214,2215,2218],{},[1727,2216,2217],{},"Tri multi-critères",[1727,2219,2220,2221,831,2223],{},"clé ",[624,2222,1644],{},[624,2224,2225],{},"key=lambda e: (e[\"classe\"], e[\"nom\"])",[1706,2227,2228,2231],{},[1727,2229,2230],{},"Tri insensible à la casse",[1727,2232,2233],{},[624,2234,1889],{},[593,2236,2238],{"id":2237},"pièges-courants","Pièges courants",[767,2240,2241,2252,2257,2266],{},[770,2242,2243,2245,2246,675,2248,2251],{},[624,2244,747],{}," retourne ",[624,2247,772],{},[602,2249,2250],{},"pas"," la liste triée.",[770,2253,2254,2255,748],{},"Tri lexicographique sur des chaînes numériques : ",[624,2256,1359],{},[770,2258,2259,2260,2262,2263,2265],{},"Erreur ",[624,2261,1876],{}," si la liste contient ",[624,2264,772],{}," ou des types mixtes.",[770,2267,2268],{},"Caractères accentués mal classés (problème de locale, hors programme).",[593,2270,2272],{"id":2271},"syntaxe-python","Syntaxe Python",[645,2274,2276],{"className":647,"code":2275,"language":649,"meta":650,"style":650},"# Tri ascendant par colonne\npar_nom = sorted(eleves, key=lambda e: e[\"nom\"])\n\n# Tri descendant\npar_age_desc = sorted(eleves, key=lambda e: e[\"age\"], reverse=True)\n\n# Tri multi-critères (classe puis nom)\ntrie = sorted(eleves, key=lambda e: (e[\"classe\"], e[\"nom\"]))\n\n# Tri en place\neleves.sort(key=lambda e: e[\"nom\"])\n",[624,2277,2278,2283,2303,2307,2312,2340,2344,2349,2375,2379,2384],{"__ignoreMap":650},[654,2279,2280],{"class":656,"line":657},[654,2281,2282],{"class":731},"# Tri ascendant par colonne\n",[654,2284,2285,2287,2289,2291,2293,2295,2297,2299,2301],{"class":656,"line":713},[654,2286,1025],{"class":660},[654,2288,665],{"class":664},[654,2290,1030],{"class":671},[654,2292,1033],{"class":660},[654,2294,1037],{"class":1036},[654,2296,1040],{"class":664},[654,2298,1043],{"class":660},[654,2300,879],{"class":878},[654,2302,1048],{"class":660},[654,2304,2305],{"class":656,"line":728},[654,2306,1013],{"emptyLinePlaceholder":1012},[654,2308,2309],{"class":656,"line":941},[654,2310,2311],{"class":731},"# Tri descendant\n",[654,2313,2314,2316,2318,2320,2322,2324,2326,2328,2330,2332,2334,2336,2338],{"class":656,"line":972},[654,2315,1387],{"class":660},[654,2317,665],{"class":664},[654,2319,1030],{"class":671},[654,2321,1033],{"class":660},[654,2323,1037],{"class":1036},[654,2325,1040],{"class":664},[654,2327,1043],{"class":660},[654,2329,891],{"class":878},[654,2331,1404],{"class":660},[654,2333,1407],{"class":1036},[654,2335,665],{"class":664},[654,2337,1412],{"class":671},[654,2339,1415],{"class":660},[654,2341,2342],{"class":656,"line":1004},[654,2343,1013],{"emptyLinePlaceholder":1012},[654,2345,2346],{"class":656,"line":1009},[654,2347,2348],{"class":731},"# Tri multi-critères (classe puis nom)\n",[654,2350,2351,2354,2356,2358,2360,2362,2364,2366,2368,2370,2372],{"class":656,"line":1016},[654,2352,2353],{"class":660},"trie ",[654,2355,665],{"class":664},[654,2357,1030],{"class":671},[654,2359,1033],{"class":660},[654,2361,1037],{"class":1036},[654,2363,1040],{"class":664},[654,2365,1676],{"class":660},[654,2367,901],{"class":878},[654,2369,1323],{"class":660},[654,2371,879],{"class":878},[654,2373,2374],{"class":660},"]))\n",[654,2376,2377],{"class":656,"line":1022},[654,2378,1013],{"emptyLinePlaceholder":1012},[654,2380,2381],{"class":656,"line":1051},[654,2382,2383],{"class":731},"# Tri en place\n",[654,2385,2386,2389,2391,2393,2395,2397],{"class":656,"line":1056},[654,2387,2388],{"class":660},"eleves.sort(",[654,2390,1037],{"class":1036},[654,2392,1040],{"class":664},[654,2394,1043],{"class":660},[654,2396,879],{"class":878},[654,2398,1048],{"class":660},[2003,2400,2401],{},"html pre.shiki code .sCsY4, html code.shiki .sCsY4{--shiki-light:#6A737D;--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sxrX7, html code.shiki .sxrX7{--shiki-light:#24292E;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .s8jYJ, html code.shiki .s8jYJ{--shiki-light:#D73A49;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sBjJW, html code.shiki .sBjJW{--shiki-light:#005CC5;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sP4rz, html code.shiki .sP4rz{--shiki-light:#E36209;--shiki-default:#E36209;--shiki-dark:#FFAB70}html pre.shiki code .sIIMD, html code.shiki .sIIMD{--shiki-light:#032F62;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":650,"searchDepth":713,"depth":713,"links":2403},[2404,2405,2406,2407,2408],{"id":2043,"depth":713,"text":2044},{"id":2119,"depth":713,"text":2120},{"id":2169,"depth":713,"text":2170},{"id":2237,"depth":713,"text":2238},{"id":2271,"depth":713,"text":2272},"Mémo de révision sur sorted() et le tri par colonne.",{},"\u002Fnsi-1ere\u002Fpd-tables-donnees\u002Ftri.memo",[],{"title":2037,"description":2409},"1.nsi-1ere\u002Fpd-tables-donnees\u002F3.tri.memo","pv9FhDJUNeQH0FxR5qYBjGPNXyFM41DtE-ilR_2uF3g",{"id":2417,"title":2418,"body":2419,"description":2860,"extension":2022,"meta":2861,"navigation":2029,"path":2862,"seo":2863,"stem":2864,"__hash__":2865},"coursSlides\u002F1.nsi-1ere\u002Fpd-tables-donnees\u002F3.tri.slides.md","Trier une table — diapositives",{"type":590,"value":2420,"toc":2858},[2421,2425,2433,2436,2440,2451,2453,2459,2507,2514,2516,2524,2559,2567,2569,2571,2606,2609,2611,2617,2663,2665,2667,2676,2679,2681,2685,2724,2727,2729,2735,2777,2779,2783,2855],[2422,2423,319],"h1",{"id":2424},"trier-une-table",[598,2426,2427,2428,2430,2431],{},"Cours 3 — ",[624,2429,626],{}," et le paramètre ",[624,2432,803],{},[2434,2435],"hr",{},[2422,2437,2439],{"id":2438},"pourquoi-trier","Pourquoi trier ?",[767,2441,2442,2445,2448],{},[770,2443,2444],{},"Rendre lisible (classement)",[770,2446,2447],{},"Préparer une recherche dichotomique",[770,2449,2450],{},"Faciliter une jointure",[2434,2452],{},[2422,2454,2456,2458],{"id":2455},"sorted-sur-une-liste-de-nombres",[624,2457,626],{}," sur une liste de nombres",[645,2460,2462],{"className":647,"code":2461,"language":649,"meta":650,"style":650},"nombres = [3, 1, 4, 1, 5]\nprint(sorted(nombres))\n# [1, 1, 3, 4, 5]\n",[624,2463,2464,2492,2502],{"__ignoreMap":650},[654,2465,2466,2468,2470,2472,2474,2476,2478,2480,2482,2484,2486,2488,2490],{"class":656,"line":657},[654,2467,661],{"class":660},[654,2469,665],{"class":664},[654,2471,668],{"class":660},[654,2473,672],{"class":671},[654,2475,675],{"class":660},[654,2477,678],{"class":671},[654,2479,675],{"class":660},[654,2481,683],{"class":671},[654,2483,675],{"class":660},[654,2485,678],{"class":671},[654,2487,675],{"class":660},[654,2489,692],{"class":671},[654,2491,710],{"class":660},[654,2493,2494,2496,2498,2500],{"class":656,"line":713},[654,2495,716],{"class":671},[654,2497,719],{"class":660},[654,2499,722],{"class":671},[654,2501,725],{"class":660},[654,2503,2504],{"class":656,"line":728},[654,2505,2506],{"class":731},"# [1, 1, 3, 4, 5]\n",[598,2508,2509,2510,2513],{},"Retourne une ",[602,2511,2512],{},"nouvelle"," liste.\nN'altère pas l'original.",[2434,2515],{},[2422,2517,2519,2521,2522],{"id":2518},"sorted-sur-une-table-key",[624,2520,626],{}," sur une table : ",[624,2523,803],{},[645,2525,2527],{"className":647,"code":2526,"language":649,"meta":650,"style":650},"par_nom = sorted(\n    eleves,\n    key=lambda e: e[\"nom\"]\n)\n",[624,2528,2529,2539,2543,2555],{"__ignoreMap":650},[654,2530,2531,2533,2535,2537],{"class":656,"line":657},[654,2532,1025],{"class":660},[654,2534,665],{"class":664},[654,2536,1030],{"class":671},[654,2538,1661],{"class":660},[654,2540,2541],{"class":656,"line":713},[654,2542,1666],{"class":660},[654,2544,2545,2547,2549,2551,2553],{"class":656,"line":728},[654,2546,1671],{"class":1036},[654,2548,1040],{"class":664},[654,2550,1043],{"class":660},[654,2552,879],{"class":878},[654,2554,710],{"class":660},[654,2556,2557],{"class":656,"line":941},[654,2558,1415],{"class":660},[598,2560,2561,2563,2564,748],{},[624,2562,850],{}," = mini-fonction qui dit\n",[602,2565,2566],{},"quelle valeur comparer",[2434,2568],{},[2422,2570,1133],{"id":1132},[645,2572,2574],{"className":647,"code":2573,"language":649,"meta":650,"style":650},"par_age = sorted(\n    eleves,\n    key=lambda e: e[\"age\"]\n)\n",[624,2575,2576,2586,2590,2602],{"__ignoreMap":650},[654,2577,2578,2580,2582,2584],{"class":656,"line":657},[654,2579,1281],{"class":660},[654,2581,665],{"class":664},[654,2583,1030],{"class":671},[654,2585,1661],{"class":660},[654,2587,2588],{"class":656,"line":713},[654,2589,1666],{"class":660},[654,2591,2592,2594,2596,2598,2600],{"class":656,"line":728},[654,2593,1671],{"class":1036},[654,2595,1040],{"class":664},[654,2597,1043],{"class":660},[654,2599,891],{"class":878},[654,2601,710],{"class":660},[654,2603,2604],{"class":656,"line":941},[654,2605,1415],{"class":660},[598,2607,2608],{},"⚠ Convertir avant si la colonne\nest stockée en chaîne !",[2434,2610],{},[2422,2612,2614,2615],{"id":2613},"tri-descendant-reversetrue","Tri descendant : ",[624,2616,1377],{},[645,2618,2620],{"className":647,"code":2619,"language":649,"meta":650,"style":650},"par_age_desc = sorted(\n    eleves,\n    key=lambda e: e[\"age\"],\n    reverse=True\n)\n",[624,2621,2622,2632,2636,2649,2659],{"__ignoreMap":650},[654,2623,2624,2626,2628,2630],{"class":656,"line":657},[654,2625,1387],{"class":660},[654,2627,665],{"class":664},[654,2629,1030],{"class":671},[654,2631,1661],{"class":660},[654,2633,2634],{"class":656,"line":713},[654,2635,1666],{"class":660},[654,2637,2638,2640,2642,2644,2646],{"class":656,"line":728},[654,2639,1671],{"class":1036},[654,2641,1040],{"class":664},[654,2643,1043],{"class":660},[654,2645,891],{"class":878},[654,2647,2648],{"class":660},"],\n",[654,2650,2651,2654,2656],{"class":656,"line":941},[654,2652,2653],{"class":1036},"    reverse",[654,2655,665],{"class":664},[654,2657,2658],{"class":671},"True\n",[654,2660,2661],{"class":656,"line":972},[654,2662,1415],{"class":660},[2434,2664],{},[2422,2666,1494],{"id":1493},[2668,2669,2670],"blockquote",{},[598,2671,2672,2673,748],{},"Les éléments égaux ",[602,2674,2675],{},"conservent leur ordre d'origine",[598,2677,2678],{},"Conséquence : tri multi-critères en\nplusieurs passes — du moins\nprioritaire au plus prioritaire.",[2434,2680],{},[2422,2682,2684],{"id":2683},"tri-multi-critères-avec-un-tuple","Tri multi-critères avec un tuple",[645,2686,2688],{"className":647,"code":2687,"language":649,"meta":650,"style":650},"trie = sorted(\n    eleves,\n    key=lambda e: (e[\"classe\"], e[\"nom\"])\n)\n",[624,2689,2690,2700,2704,2720],{"__ignoreMap":650},[654,2691,2692,2694,2696,2698],{"class":656,"line":657},[654,2693,2353],{"class":660},[654,2695,665],{"class":664},[654,2697,1030],{"class":671},[654,2699,1661],{"class":660},[654,2701,2702],{"class":656,"line":713},[654,2703,1666],{"class":660},[654,2705,2706,2708,2710,2712,2714,2716,2718],{"class":656,"line":728},[654,2707,1671],{"class":1036},[654,2709,1040],{"class":664},[654,2711,1676],{"class":660},[654,2713,901],{"class":878},[654,2715,1323],{"class":660},[654,2717,879],{"class":878},[654,2719,1048],{"class":660},[654,2721,2722],{"class":656,"line":941},[654,2723,1415],{"class":660},[598,2725,2726],{},"Python compare les tuples\nlexicographiquement.",[2434,2728],{},[2422,2730,2731,1696,2733],{"id":1692},[624,2732,1695],{},[624,2734,626],{},[1700,2736,2737,2753],{},[1703,2738,2739],{},[1706,2740,2741,2743,2748],{},[1709,2742],{},[1709,2744,2745],{},[624,2746,2747],{},"sorted(l)",[1709,2749,2750],{},[624,2751,2752],{},"l.sort()",[1722,2754,2755,2766],{},[1706,2756,2757,2760,2762],{},[1727,2758,2759],{},"Retour",[1727,2761,642],{},[1727,2763,2764],{},[624,2765,772],{},[1706,2767,2768,2771,2774],{},[1727,2769,2770],{},"Original",[1727,2772,2773],{},"inchangé",[1727,2775,2776],{},"trié en place",[2434,2778],{},[2422,2780,2782],{"id":2781},"à-retenir","À retenir",[598,2784,2785,2790,2791,2854],{},[602,2786,2787],{},[624,2788,2789],{},"sorted(table, key=lambda e: e[\"col\"])","\nsuffit à trier par n'importe quelle colonne.\nStable, ",[654,2792,2794,2819],{"className":2793},[1907],[654,2795,2797],{"className":2796},[1911],[1913,2798,2799],{"xmlns":1915},[1917,2800,2801,2817],{},[1920,2802,2803,2805,2807,2809,2811,2813,2815],{},[1923,2804,1926],{"mathvariant":1925},[1928,2806,719],{"stretchy":1930},[1923,2808,1933],{},[1923,2810,1936],{},[1928,2812,1939],{},[1923,2814,1933],{},[1928,2816,1944],{"stretchy":1930},[1946,2818,1949],{"encoding":1948},[654,2820,2822],{"className":2821,"ariaHidden":1954},[1953],[654,2823,2825,2828,2831,2834,2837,2840,2845,2848,2851],{"className":2824},[1958],[654,2826],{"className":2827,"style":1963},[1962],[654,2829,1926],{"className":2830,"style":1969},[1967,1968],[654,2832,719],{"className":2833},[1973],[654,2835,1933],{"className":2836},[1967,1977],[654,2838],{"className":2839,"style":1982},[1981],[654,2841,1987,2843],{"className":2842},[1986],[654,2844,1991],{"style":1990},[654,2846],{"className":2847,"style":1982},[1981],[654,2849,1933],{"className":2850},[1967,1977],[654,2852,1944],{"className":2853},[2001],", intégré au langage.",[2003,2856,2857],{},"html pre.shiki code .sxrX7, html code.shiki .sxrX7{--shiki-light:#24292E;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .s8jYJ, html code.shiki .s8jYJ{--shiki-light:#D73A49;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sBjJW, html code.shiki .sBjJW{--shiki-light:#005CC5;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sCsY4, html code.shiki .sCsY4{--shiki-light:#6A737D;--shiki-default:#6A737D;--shiki-dark:#6A737D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sP4rz, html code.shiki .sP4rz{--shiki-light:#E36209;--shiki-default:#E36209;--shiki-dark:#FFAB70}html pre.shiki code .sIIMD, html code.shiki .sIIMD{--shiki-light:#032F62;--shiki-default:#032F62;--shiki-dark:#9ECBFF}",{"title":650,"searchDepth":713,"depth":713,"links":2859},[],"Deck projetable sur le tri par colonne avec sorted().",{},"\u002Fnsi-1ere\u002Fpd-tables-donnees\u002Ftri.slides",{"title":2418,"description":2860},"1.nsi-1ere\u002Fpd-tables-donnees\u002F3.tri.slides","05Uot2FGo_M-HoXvqn0L2hJzear9bjX_N5lrlcL2lcU",{"id":2036,"title":2037,"bo":2867,"body":2868,"description":2409,"eval":2021,"extension":2022,"labo":2021,"meta":3188,"navigation":2029,"path":2411,"quizzes":3189,"readingTime":657,"seo":3190,"stem":2414,"tp":2021,"__hash__":2415},[588],{"type":590,"value":2869,"toc":3181},[2870,2872,2941,2943,2979,2981,3035,3037,3059,3061,3179],[593,2871,2044],{"id":2043},[598,2873,2874,2053,2878,748],{},[602,2875,2049,2876],{},[624,2877,2052],{},[654,2879,2881,2906],{"className":2880},[1907],[654,2882,2884],{"className":2883},[1911],[1913,2885,2886],{"xmlns":1915},[1917,2887,2888,2904],{},[1920,2889,2890,2892,2894,2896,2898,2900,2902],{},[1923,2891,1926],{"mathvariant":1925},[1928,2893,719],{"stretchy":1930},[1923,2895,1933],{},[1923,2897,1936],{},[1928,2899,1939],{},[1923,2901,1933],{},[1928,2903,1944],{"stretchy":1930},[1946,2905,1949],{"encoding":1948},[654,2907,2909],{"className":2908,"ariaHidden":1954},[1953],[654,2910,2912,2915,2918,2921,2924,2927,2932,2935,2938],{"className":2911},[1958],[654,2913],{"className":2914,"style":1963},[1962],[654,2916,1926],{"className":2917,"style":1969},[1967,1968],[654,2919,719],{"className":2920},[1973],[654,2922,1933],{"className":2923},[1967,1977],[654,2925],{"className":2926,"style":1982},[1981],[654,2928,1987,2930],{"className":2929},[1986],[654,2931,1991],{"style":1990},[654,2933],{"className":2934,"style":1982},[1981],[654,2936,1933],{"className":2937},[1967,1977],[654,2939,1944],{"className":2940},[2001],[593,2942,2120],{"id":2119},[767,2944,2945,2953,2963,2969,2975],{},[770,2946,2947,2129,2951,2132],{},[602,2948,2949],{},[624,2950,638],{},[602,2952,642],{},[770,2954,2955,2139,2959,2143,2961,748],{},[602,2956,2957],{},[624,2958,747],{},[602,2960,2142],{},[624,2962,772],{},[770,2964,2965,2153],{},[602,2966,2967],{},[624,2968,2152],{},[770,2970,2971,2160],{},[602,2972,2973],{},[624,2974,1377],{},[770,2976,2977,2166],{},[602,2978,2165],{},[593,2980,2170],{"id":2169},[1700,2982,2983,2991],{},[1703,2984,2985],{},[1706,2986,2987,2989],{},[1709,2988,2179],{},[1709,2990,2182],{},[1722,2992,2993,3001,3009,3017,3027],{},[1706,2994,2995,2997],{},[1727,2996,2189],{},[1727,2998,2999],{},[624,3000,2194],{},[1706,3002,3003,3005],{},[1727,3004,1371],{},[1727,3006,2201,3007],{},[624,3008,1377],{},[1706,3010,3011,3013],{},[1727,3012,2208],{},[1727,3014,3015],{},[624,3016,1367],{},[1706,3018,3019,3021],{},[1727,3020,2217],{},[1727,3022,2220,3023,831,3025],{},[624,3024,1644],{},[624,3026,2225],{},[1706,3028,3029,3031],{},[1727,3030,2230],{},[1727,3032,3033],{},[624,3034,1889],{},[593,3036,2238],{"id":2237},[767,3038,3039,3047,3051,3057],{},[770,3040,3041,2245,3043,675,3045,2251],{},[624,3042,747],{},[624,3044,772],{},[602,3046,2250],{},[770,3048,2254,3049,748],{},[624,3050,1359],{},[770,3052,2259,3053,2262,3055,2265],{},[624,3054,1876],{},[624,3056,772],{},[770,3058,2268],{},[593,3060,2272],{"id":2271},[645,3062,3063],{"className":647,"code":2275,"language":649,"meta":650,"style":650},[624,3064,3065,3069,3089,3093,3097,3125,3129,3133,3157,3161,3165],{"__ignoreMap":650},[654,3066,3067],{"class":656,"line":657},[654,3068,2282],{"class":731},[654,3070,3071,3073,3075,3077,3079,3081,3083,3085,3087],{"class":656,"line":713},[654,3072,1025],{"class":660},[654,3074,665],{"class":664},[654,3076,1030],{"class":671},[654,3078,1033],{"class":660},[654,3080,1037],{"class":1036},[654,3082,1040],{"class":664},[654,3084,1043],{"class":660},[654,3086,879],{"class":878},[654,3088,1048],{"class":660},[654,3090,3091],{"class":656,"line":728},[654,3092,1013],{"emptyLinePlaceholder":1012},[654,3094,3095],{"class":656,"line":941},[654,3096,2311],{"class":731},[654,3098,3099,3101,3103,3105,3107,3109,3111,3113,3115,3117,3119,3121,3123],{"class":656,"line":972},[654,3100,1387],{"class":660},[654,3102,665],{"class":664},[654,3104,1030],{"class":671},[654,3106,1033],{"class":660},[654,3108,1037],{"class":1036},[654,3110,1040],{"class":664},[654,3112,1043],{"class":660},[654,3114,891],{"class":878},[654,3116,1404],{"class":660},[654,3118,1407],{"class":1036},[654,3120,665],{"class":664},[654,3122,1412],{"class":671},[654,3124,1415],{"class":660},[654,3126,3127],{"class":656,"line":1004},[654,3128,1013],{"emptyLinePlaceholder":1012},[654,3130,3131],{"class":656,"line":1009},[654,3132,2348],{"class":731},[654,3134,3135,3137,3139,3141,3143,3145,3147,3149,3151,3153,3155],{"class":656,"line":1016},[654,3136,2353],{"class":660},[654,3138,665],{"class":664},[654,3140,1030],{"class":671},[654,3142,1033],{"class":660},[654,3144,1037],{"class":1036},[654,3146,1040],{"class":664},[654,3148,1676],{"class":660},[654,3150,901],{"class":878},[654,3152,1323],{"class":660},[654,3154,879],{"class":878},[654,3156,2374],{"class":660},[654,3158,3159],{"class":656,"line":1022},[654,3160,1013],{"emptyLinePlaceholder":1012},[654,3162,3163],{"class":656,"line":1051},[654,3164,2383],{"class":731},[654,3166,3167,3169,3171,3173,3175,3177],{"class":656,"line":1056},[654,3168,2388],{"class":660},[654,3170,1037],{"class":1036},[654,3172,1040],{"class":664},[654,3174,1043],{"class":660},[654,3176,879],{"class":878},[654,3178,1048],{"class":660},[2003,3180,2401],{},{"title":650,"searchDepth":713,"depth":713,"links":3182},[3183,3184,3185,3186,3187],{"id":2043,"depth":713,"text":2044},{"id":2119,"depth":713,"text":2120},{"id":2169,"depth":713,"text":2170},{"id":2237,"depth":713,"text":2238},{"id":2271,"depth":713,"text":2272},{},[],{"title":2037,"description":2409},{"id":2417,"title":2418,"body":3192,"description":2860,"extension":2022,"meta":3583,"navigation":2029,"path":2862,"seo":3584,"stem":2864,"__hash__":2865},{"type":590,"value":3193,"toc":3581},[3194,3196,3202,3204,3206,3214,3216,3220,3266,3270,3272,3278,3312,3318,3320,3322,3356,3358,3360,3364,3406,3408,3410,3416,3418,3420,3422,3460,3462,3464,3470,3506,3508,3510,3579],[2422,3195,319],{"id":2424},[598,3197,2427,3198,2430,3200],{},[624,3199,626],{},[624,3201,803],{},[2434,3203],{},[2422,3205,2439],{"id":2438},[767,3207,3208,3210,3212],{},[770,3209,2444],{},[770,3211,2447],{},[770,3213,2450],{},[2434,3215],{},[2422,3217,3218,2458],{"id":2455},[624,3219,626],{},[645,3221,3222],{"className":647,"code":2461,"language":649,"meta":650,"style":650},[624,3223,3224,3252,3262],{"__ignoreMap":650},[654,3225,3226,3228,3230,3232,3234,3236,3238,3240,3242,3244,3246,3248,3250],{"class":656,"line":657},[654,3227,661],{"class":660},[654,3229,665],{"class":664},[654,3231,668],{"class":660},[654,3233,672],{"class":671},[654,3235,675],{"class":660},[654,3237,678],{"class":671},[654,3239,675],{"class":660},[654,3241,683],{"class":671},[654,3243,675],{"class":660},[654,3245,678],{"class":671},[654,3247,675],{"class":660},[654,3249,692],{"class":671},[654,3251,710],{"class":660},[654,3253,3254,3256,3258,3260],{"class":656,"line":713},[654,3255,716],{"class":671},[654,3257,719],{"class":660},[654,3259,722],{"class":671},[654,3261,725],{"class":660},[654,3263,3264],{"class":656,"line":728},[654,3265,2506],{"class":731},[598,3267,2509,3268,2513],{},[602,3269,2512],{},[2434,3271],{},[2422,3273,3274,2521,3276],{"id":2518},[624,3275,626],{},[624,3277,803],{},[645,3279,3280],{"className":647,"code":2526,"language":649,"meta":650,"style":650},[624,3281,3282,3292,3296,3308],{"__ignoreMap":650},[654,3283,3284,3286,3288,3290],{"class":656,"line":657},[654,3285,1025],{"class":660},[654,3287,665],{"class":664},[654,3289,1030],{"class":671},[654,3291,1661],{"class":660},[654,3293,3294],{"class":656,"line":713},[654,3295,1666],{"class":660},[654,3297,3298,3300,3302,3304,3306],{"class":656,"line":728},[654,3299,1671],{"class":1036},[654,3301,1040],{"class":664},[654,3303,1043],{"class":660},[654,3305,879],{"class":878},[654,3307,710],{"class":660},[654,3309,3310],{"class":656,"line":941},[654,3311,1415],{"class":660},[598,3313,3314,2563,3316,748],{},[624,3315,850],{},[602,3317,2566],{},[2434,3319],{},[2422,3321,1133],{"id":1132},[645,3323,3324],{"className":647,"code":2573,"language":649,"meta":650,"style":650},[624,3325,3326,3336,3340,3352],{"__ignoreMap":650},[654,3327,3328,3330,3332,3334],{"class":656,"line":657},[654,3329,1281],{"class":660},[654,3331,665],{"class":664},[654,3333,1030],{"class":671},[654,3335,1661],{"class":660},[654,3337,3338],{"class":656,"line":713},[654,3339,1666],{"class":660},[654,3341,3342,3344,3346,3348,3350],{"class":656,"line":728},[654,3343,1671],{"class":1036},[654,3345,1040],{"class":664},[654,3347,1043],{"class":660},[654,3349,891],{"class":878},[654,3351,710],{"class":660},[654,3353,3354],{"class":656,"line":941},[654,3355,1415],{"class":660},[598,3357,2608],{},[2434,3359],{},[2422,3361,2614,3362],{"id":2613},[624,3363,1377],{},[645,3365,3366],{"className":647,"code":2619,"language":649,"meta":650,"style":650},[624,3367,3368,3378,3382,3394,3402],{"__ignoreMap":650},[654,3369,3370,3372,3374,3376],{"class":656,"line":657},[654,3371,1387],{"class":660},[654,3373,665],{"class":664},[654,3375,1030],{"class":671},[654,3377,1661],{"class":660},[654,3379,3380],{"class":656,"line":713},[654,3381,1666],{"class":660},[654,3383,3384,3386,3388,3390,3392],{"class":656,"line":728},[654,3385,1671],{"class":1036},[654,3387,1040],{"class":664},[654,3389,1043],{"class":660},[654,3391,891],{"class":878},[654,3393,2648],{"class":660},[654,3395,3396,3398,3400],{"class":656,"line":941},[654,3397,2653],{"class":1036},[654,3399,665],{"class":664},[654,3401,2658],{"class":671},[654,3403,3404],{"class":656,"line":972},[654,3405,1415],{"class":660},[2434,3407],{},[2422,3409,1494],{"id":1493},[2668,3411,3412],{},[598,3413,2672,3414,748],{},[602,3415,2675],{},[598,3417,2678],{},[2434,3419],{},[2422,3421,2684],{"id":2683},[645,3423,3424],{"className":647,"code":2687,"language":649,"meta":650,"style":650},[624,3425,3426,3436,3440,3456],{"__ignoreMap":650},[654,3427,3428,3430,3432,3434],{"class":656,"line":657},[654,3429,2353],{"class":660},[654,3431,665],{"class":664},[654,3433,1030],{"class":671},[654,3435,1661],{"class":660},[654,3437,3438],{"class":656,"line":713},[654,3439,1666],{"class":660},[654,3441,3442,3444,3446,3448,3450,3452,3454],{"class":656,"line":728},[654,3443,1671],{"class":1036},[654,3445,1040],{"class":664},[654,3447,1676],{"class":660},[654,3449,901],{"class":878},[654,3451,1323],{"class":660},[654,3453,879],{"class":878},[654,3455,1048],{"class":660},[654,3457,3458],{"class":656,"line":941},[654,3459,1415],{"class":660},[598,3461,2726],{},[2434,3463],{},[2422,3465,3466,1696,3468],{"id":1692},[624,3467,1695],{},[624,3469,626],{},[1700,3471,3472,3486],{},[1703,3473,3474],{},[1706,3475,3476,3478,3482],{},[1709,3477],{},[1709,3479,3480],{},[624,3481,2747],{},[1709,3483,3484],{},[624,3485,2752],{},[1722,3487,3488,3498],{},[1706,3489,3490,3492,3494],{},[1727,3491,2759],{},[1727,3493,642],{},[1727,3495,3496],{},[624,3497,772],{},[1706,3499,3500,3502,3504],{},[1727,3501,2770],{},[1727,3503,2773],{},[1727,3505,2776],{},[2434,3507],{},[2422,3509,2782],{"id":2781},[598,3511,3512,2790,3516,2854],{},[602,3513,3514],{},[624,3515,2789],{},[654,3517,3519,3544],{"className":3518},[1907],[654,3520,3522],{"className":3521},[1911],[1913,3523,3524],{"xmlns":1915},[1917,3525,3526,3542],{},[1920,3527,3528,3530,3532,3534,3536,3538,3540],{},[1923,3529,1926],{"mathvariant":1925},[1928,3531,719],{"stretchy":1930},[1923,3533,1933],{},[1923,3535,1936],{},[1928,3537,1939],{},[1923,3539,1933],{},[1928,3541,1944],{"stretchy":1930},[1946,3543,1949],{"encoding":1948},[654,3545,3547],{"className":3546,"ariaHidden":1954},[1953],[654,3548,3550,3553,3556,3559,3562,3565,3570,3573,3576],{"className":3549},[1958],[654,3551],{"className":3552,"style":1963},[1962],[654,3554,1926],{"className":3555,"style":1969},[1967,1968],[654,3557,719],{"className":3558},[1973],[654,3560,1933],{"className":3561},[1967,1977],[654,3563],{"className":3564,"style":1982},[1981],[654,3566,1987,3568],{"className":3567},[1986],[654,3569,1991],{"style":1990},[654,3571],{"className":3572,"style":1982},[1981],[654,3574,1933],{"className":3575},[1967,1977],[654,3577,1944],{"className":3578},[2001],[2003,3580,2857],{},{"title":650,"searchDepth":713,"depth":713,"links":3582},[],{},{"title":2418,"description":2860},1788035580141]