{"id":5504,"date":"2022-08-29T03:51:29","date_gmt":"2022-08-28T22:21:29","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-why-are-python-dictionaries-not-stored-in-the-order-they-were-created-duplicate\/"},"modified":"2022-08-29T03:51:29","modified_gmt":"2022-08-28T22:21:29","slug":"solved-why-are-python-dictionaries-not-stored-in-the-order-they-were-created-duplicate","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-why-are-python-dictionaries-not-stored-in-the-order-they-were-created-duplicate\/","title":{"rendered":"[Solved] Why are Python dictionaries NOT stored in the order they were created? [duplicate]"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-32917616\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"32917616\" data-parentid=\"32917590\" data-score=\"4\" data-position-on-page=\"1\" data-highest-scored=\"1\" data-question-has-accepted-highest-score=\"1\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\">\n<div class=\"post-layout\">\n<div class=\"votecell post-layout--left\"><\/div>\n<div class=\"answercell post-layout--right\">\n<div class=\"s-prose js-post-body\" itemprop=\"text\">\n<p>Python needs to be able to access <code>D[thing]<\/code> quickly.<\/p>\n<p>If it stores the values in the order that it receives them, then when you ask it for <code>D[thing]<\/code>, it doesn&#8217;t know in advance where it put that value.  It has to go and find where the key <code>thing<\/code> appears and then find that value.  Since it has no control over the order these are received, this would take about N\/2 steps on average where N is the number of keys it&#8217;s received.<\/p>\n<p>But if instead it has a function (called a hash) that can turn <code>thing<\/code> in to a location in memory, it can quickly take <code>thing<\/code> and calculate that value, and check in that spot of memory.  Of course, it&#8217;s got to do a bit more overhead &#8211; checking that <code>D[thing]<\/code> has actually been defined, and checking for those rare cases where you may have defined <code>D[thing1]<\/code> and <code>D[thing2]<\/code> where the hash function of <code>thing1<\/code> and <code>thing2<\/code> happen to be the same (in which case a &#8220;collision&#8221; occurs and python has to figure out a new place to put one of them).<\/p>\n<hr>\n<p>So for your example, you might expect that when you search for <code>test['four']<\/code> it just goes to the last entry in a list it&#8217;s stored and says &#8220;aha, that&#8217;s <code>'4'<\/code>.&#8221;  But it can&#8217;t just do that.  How does it know that <code>four<\/code> corresponds to the last entry of the list.  It could have come in any order, so it would have to create some other data structure which allows it to quickly tell that <code>four<\/code> was the last entry.  This would take a lot of overhead.<\/p>\n<p>It would be possible to make it output things in the order they were entered, but that would still require additional overhead tracking the order things were entered.<\/p>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\">4<\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved Why are Python dictionaries NOT stored in the order they were created? [duplicate] <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] Python needs to be able to access D[thing] quickly. If it stores the values in the order that it receives them, then when you ask it for D[thing], it doesn&#8217;t know in advance where it put that value. It has to go and find where the key thing appears and then find that value. &#8230; <a title=\"[Solved] Why are Python dictionaries NOT stored in the order they were created? [duplicate]\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-why-are-python-dictionaries-not-stored-in-the-order-they-were-created-duplicate\/\" aria-label=\"More on [Solved] Why are Python dictionaries NOT stored in the order they were created? [duplicate]\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[320],"tags":[834,349,1405],"class_list":["post-5504","post","type-post","status-publish","format-standard","hentry","category-solved","tag-dictionary","tag-python","tag-python-internals"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>[Solved] Why are Python dictionaries NOT stored in the order they were created? [duplicate] - JassWeb<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jassweb.com\/solved\/solved-why-are-python-dictionaries-not-stored-in-the-order-they-were-created-duplicate\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] Why are Python dictionaries NOT stored in the order they were created? [duplicate] - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] Python needs to be able to access D[thing] quickly. If it stores the values in the order that it receives them, then when you ask it for D[thing], it doesn&#8217;t know in advance where it put that value. It has to go and find where the key thing appears and then find that value. ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-why-are-python-dictionaries-not-stored-in-the-order-they-were-created-duplicate\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2022-08-28T22:21:29+00:00\" \/>\n<meta name=\"author\" content=\"Kirat\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kirat\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-why-are-python-dictionaries-not-stored-in-the-order-they-were-created-duplicate\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-why-are-python-dictionaries-not-stored-in-the-order-they-were-created-duplicate\\\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#\\\/schema\\\/person\\\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] Why are Python dictionaries NOT stored in the order they were created? [duplicate]\",\"datePublished\":\"2022-08-28T22:21:29+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-why-are-python-dictionaries-not-stored-in-the-order-they-were-created-duplicate\\\/\"},\"wordCount\":319,\"publisher\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#organization\"},\"keywords\":[\"dictionary\",\"python\",\"python-internals\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-why-are-python-dictionaries-not-stored-in-the-order-they-were-created-duplicate\\\/\",\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-why-are-python-dictionaries-not-stored-in-the-order-they-were-created-duplicate\\\/\",\"name\":\"[Solved] Why are Python dictionaries NOT stored in the order they were created? [duplicate] - JassWeb\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#website\"},\"datePublished\":\"2022-08-28T22:21:29+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-why-are-python-dictionaries-not-stored-in-the-order-they-were-created-duplicate\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-why-are-python-dictionaries-not-stored-in-the-order-they-were-created-duplicate\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/solved-why-are-python-dictionaries-not-stored-in-the-order-they-were-created-duplicate\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] Why are Python dictionaries NOT stored in the order they were created? [duplicate]\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#website\",\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/\",\"name\":\"JassWeb\",\"description\":\"Build High-quality Websites\",\"publisher\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#organization\",\"name\":\"Jass Web\",\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/jassweb.com\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/jass-website-logo-1.png\",\"contentUrl\":\"https:\\\/\\\/jassweb.com\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/jass-website-logo-1.png\",\"width\":693,\"height\":132,\"caption\":\"Jass Web\"},\"image\":{\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/#\\\/schema\\\/person\\\/65c9c7b7958150c0dc8371fa35dd7c31\",\"name\":\"Kirat\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/wp-content\\\/litespeed\\\/avatar\\\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400\",\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/wp-content\\\/litespeed\\\/avatar\\\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400\",\"contentUrl\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/wp-content\\\/litespeed\\\/avatar\\\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\\\/\\\/jassweb.com\"],\"url\":\"https:\\\/\\\/jassweb.com\\\/solved\\\/author\\\/jaspritsinghghumangmail-com\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] Why are Python dictionaries NOT stored in the order they were created? [duplicate] - JassWeb","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jassweb.com\/solved\/solved-why-are-python-dictionaries-not-stored-in-the-order-they-were-created-duplicate\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] Why are Python dictionaries NOT stored in the order they were created? [duplicate] - JassWeb","og_description":"[ad_1] Python needs to be able to access D[thing] quickly. If it stores the values in the order that it receives them, then when you ask it for D[thing], it doesn&#8217;t know in advance where it put that value. It has to go and find where the key thing appears and then find that value. ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-why-are-python-dictionaries-not-stored-in-the-order-they-were-created-duplicate\/","og_site_name":"JassWeb","article_published_time":"2022-08-28T22:21:29+00:00","author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-why-are-python-dictionaries-not-stored-in-the-order-they-were-created-duplicate\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-why-are-python-dictionaries-not-stored-in-the-order-they-were-created-duplicate\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] Why are Python dictionaries NOT stored in the order they were created? [duplicate]","datePublished":"2022-08-28T22:21:29+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-why-are-python-dictionaries-not-stored-in-the-order-they-were-created-duplicate\/"},"wordCount":319,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["dictionary","python","python-internals"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-why-are-python-dictionaries-not-stored-in-the-order-they-were-created-duplicate\/","url":"https:\/\/jassweb.com\/solved\/solved-why-are-python-dictionaries-not-stored-in-the-order-they-were-created-duplicate\/","name":"[Solved] Why are Python dictionaries NOT stored in the order they were created? [duplicate] - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2022-08-28T22:21:29+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-why-are-python-dictionaries-not-stored-in-the-order-they-were-created-duplicate\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-why-are-python-dictionaries-not-stored-in-the-order-they-were-created-duplicate\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-why-are-python-dictionaries-not-stored-in-the-order-they-were-created-duplicate\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] Why are Python dictionaries NOT stored in the order they were created? [duplicate]"}]},{"@type":"WebSite","@id":"https:\/\/jassweb.com\/solved\/#website","url":"https:\/\/jassweb.com\/solved\/","name":"JassWeb","description":"Build High-quality Websites","publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jassweb.com\/solved\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jassweb.com\/solved\/#organization","name":"Jass Web","url":"https:\/\/jassweb.com\/solved\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/","url":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","contentUrl":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","width":693,"height":132,"caption":"Jass Web"},"image":{"@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31","name":"Kirat","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400","url":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1777008400","caption":"Kirat"},"sameAs":["http:\/\/jassweb.com"],"url":"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/5504","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/comments?post=5504"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/5504\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=5504"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=5504"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=5504"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}