Path: csiph.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: pehache Newsgroups: fr.comp.lang.python Subject: =?UTF-8?Q?Comment_sont_r=c3=a9ellement_impl=c3=a9ment=c3=a9es_les_l?= =?UTF-8?Q?istes_=3f?= Date: Mon, 7 Dec 2020 09:42:06 +0100 Lines: 20 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Trace: individual.net DJRmlC7MoAMTWN2PbvSmwg2eWocUtHZH6Exa8nH2FC2HLJVoUa Cancel-Lock: sha1:Mtl2TiC4H/LXv2km4bwYjEERz+A= X-Mozilla-News-Host: snews://news.individual.net:563 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:78.0) Gecko/20100101 Thunderbird/78.5.1 Content-Language: fr Xref: csiph.com fr.comp.lang.python:3405 Bonjour, Comme dit dans le titre, comment sont implémentées les listes python ? Au début je pensais que c'était des listes chaînées, mais ensuite j'ai lu que c'était des tableaux dynamiques. Mais pour moi qui dit tableau dit taille égale de toutes les cases pour pouvoir calculer rapidement l'adresse d'un élément donné. Donc comment ça se passe pour les listes qui ne contiennent pas des objets de même taille ? - c'est le plus gros objet de la liste qui détermine la taille des cases, donc avec potentiellement beaucoup de mémoire perdue, et surtout un gros boulot pour réarranger le tableau quand un objet plus gros que les autres est inséré. - le tableau est en fait un tableau de pointeurs (donc avec deux fois la taille nécessaire quand on a que des nombres dedans). Je suppose que c'est la deuxième réponse qui est la bonne ?