{"id":16340,"date":"2022-10-15T07:01:43","date_gmt":"2022-10-15T01:31:43","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-do-string-representations-of-dictionaries-have-order-in-python-3-4\/"},"modified":"2022-10-15T07:01:43","modified_gmt":"2022-10-15T01:31:43","slug":"solved-do-string-representations-of-dictionaries-have-order-in-python-3-4","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-do-string-representations-of-dictionaries-have-order-in-python-3-4\/","title":{"rendered":"[Solved] Do string representations of dictionaries have order in Python 3.4?"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-25830458\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"25830458\" data-parentid=\"25830385\" data-score=\"3\" 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<blockquote>\n<p><strong>Note:<\/strong> Python 3.6 introduces a new, <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/docs.python.org\/3\/whatsnew\/3.6.html#new-dict-implementation\">order-preserving implementation<\/a> of <code>dict<\/code>, which makes the following obsolete from 3.6 onwards.<\/p>\n<\/blockquote>\n<hr>\n<p>Here are three iterations of your example in three different Python 3.4 interpreter sessions:<\/p>\n<pre><code>Python 3.4.1 (default, Aug  8 2014, 15:05:42) \n[GCC 4.8.2] on linux2\nType \"help\", \"copyright\", \"credits\" or \"license\" for more information.\n&gt;&gt;&gt; d={}\n&gt;&gt;&gt; d[5]=5\n&gt;&gt;&gt; d[1]=1\n&gt;&gt;&gt; d[\"z\"]=\"z\"\n&gt;&gt;&gt; d[\"a\"]=\"a\"\n&gt;&gt;&gt; s=str(d)\n&gt;&gt;&gt; print(s)\n{1: 1, 'z': 'z', 'a': 'a', 5: 5}\n<\/code><\/pre>\n<pre><code>Python 3.4.1 (default, Aug  8 2014, 15:05:42) \n[GCC 4.8.2] on linux2\nType \"help\", \"copyright\", \"credits\" or \"license\" for more information.\n&gt;&gt;&gt; d={}\n&gt;&gt;&gt; d[5]=5\n&gt;&gt;&gt; d[1]=1\n&gt;&gt;&gt; d[\"z\"]=\"z\"\n&gt;&gt;&gt; d[\"a\"]=\"a\"\n&gt;&gt;&gt; s=str(d)\n&gt;&gt;&gt; print(s)\n{1: 1, 'a': 'a', 5: 5, 'z': 'z'}\n<\/code><\/pre>\n<pre><code>Python 3.4.1 (default, Aug  8 2014, 15:05:42) \n[GCC 4.8.2] on linux2\nType \"help\", \"copyright\", \"credits\" or \"license\" for more information.\n&gt;&gt;&gt; d={}\n&gt;&gt;&gt; d[5]=5\n&gt;&gt;&gt; d[1]=1\n&gt;&gt;&gt; d[\"z\"]=\"z\"\n&gt;&gt;&gt; d[\"a\"]=\"a\"\n&gt;&gt;&gt; s=str(d)\n&gt;&gt;&gt; print(s)\n{1: 1, 5: 5, 'z': 'z', 'a': 'a'}\n<\/code><\/pre>\n<p>So, no, the string representation is not sorted, or even in the same order across invocations of the interpreter. In versions of Python up to and including 3.2, the order of dictionaries (and their string representations) was arbitrary but consistent &#8211; however, this changed in Python 3.3 as a result of a <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/docs.python.org\/3.3\/reference\/datamodel.html#object.__hash__\">security fix<\/a>:<\/p>\n<blockquote>\n<p>By default, the <code>__hash__()<\/code> values of str, bytes and datetime objects are \u201csalted\u201d with an unpredictable random value. Although they remain constant within an individual Python process, they are not predictable between repeated invocations of Python.<\/p>\n<p>This is intended to provide protection against a denial-of-service caused by carefully-chosen inputs that exploit the worst case performance of a dict insertion, O(n^2) complexity. See <a rel=\"nofollow noopener\" target=\"_blank\" href=\"http:\/\/www.ocert.org\/advisories\/ocert-2011-003.html\">http:\/\/www.ocert.org\/advisories\/ocert-2011-003.html<\/a> for details.<\/p>\n<p>Changing hash values affects the iteration order of dicts, sets and other mappings. Python has never made guarantees about this ordering (and it typically varies between 32-bit and 64-bit builds).<\/p>\n<\/blockquote><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\"><\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved Do string representations of dictionaries have order in Python 3.4? <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] Note: Python 3.6 introduces a new, order-preserving implementation of dict, which makes the following obsolete from 3.6 onwards. Here are three iterations of your example in three different Python 3.4 interpreter sessions: Python 3.4.1 (default, Aug 8 2014, 15:05:42) [GCC 4.8.2] on linux2 Type &#8220;help&#8221;, &#8220;copyright&#8221;, &#8220;credits&#8221; or &#8220;license&#8221; for more information. &gt;&gt;&gt; d={} &#8230; <a title=\"[Solved] Do string representations of dictionaries have order in Python 3.4?\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-do-string-representations-of-dictionaries-have-order-in-python-3-4\/\" aria-label=\"More on [Solved] Do string representations of dictionaries have order in Python 3.4?\">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,2139,482],"class_list":["post-16340","post","type-post","status-publish","format-standard","hentry","category-solved","tag-dictionary","tag-python","tag-python-3-4","tag-python-3-x"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>[Solved] Do string representations of dictionaries have order in Python 3.4? - 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-do-string-representations-of-dictionaries-have-order-in-python-3-4\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] Do string representations of dictionaries have order in Python 3.4? - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] Note: Python 3.6 introduces a new, order-preserving implementation of dict, which makes the following obsolete from 3.6 onwards. Here are three iterations of your example in three different Python 3.4 interpreter sessions: Python 3.4.1 (default, Aug 8 2014, 15:05:42) [GCC 4.8.2] on linux2 Type &quot;help&quot;, &quot;copyright&quot;, &quot;credits&quot; or &quot;license&quot; for more information. &gt;&gt;&gt; d={} ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-do-string-representations-of-dictionaries-have-order-in-python-3-4\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2022-10-15T01:31:43+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-do-string-representations-of-dictionaries-have-order-in-python-3-4\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-do-string-representations-of-dictionaries-have-order-in-python-3-4\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] Do string representations of dictionaries have order in Python 3.4?\",\"datePublished\":\"2022-10-15T01:31:43+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-do-string-representations-of-dictionaries-have-order-in-python-3-4\/\"},\"wordCount\":204,\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"keywords\":[\"dictionary\",\"python\",\"python-3.4\",\"python-3.x\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-do-string-representations-of-dictionaries-have-order-in-python-3-4\/\",\"url\":\"https:\/\/jassweb.com\/solved\/solved-do-string-representations-of-dictionaries-have-order-in-python-3-4\/\",\"name\":\"[Solved] Do string representations of dictionaries have order in Python 3.4? - JassWeb\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#website\"},\"datePublished\":\"2022-10-15T01:31:43+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-do-string-representations-of-dictionaries-have-order-in-python-3-4\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jassweb.com\/solved\/solved-do-string-representations-of-dictionaries-have-order-in-python-3-4\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-do-string-representations-of-dictionaries-have-order-in-python-3-4\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jassweb.com\/solved\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] Do string representations of dictionaries have order in Python 3.4?\"}]},{\"@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\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586\",\"contentUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\/\/jassweb.com\"],\"url\":\"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] Do string representations of dictionaries have order in Python 3.4? - 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-do-string-representations-of-dictionaries-have-order-in-python-3-4\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] Do string representations of dictionaries have order in Python 3.4? - JassWeb","og_description":"[ad_1] Note: Python 3.6 introduces a new, order-preserving implementation of dict, which makes the following obsolete from 3.6 onwards. Here are three iterations of your example in three different Python 3.4 interpreter sessions: Python 3.4.1 (default, Aug 8 2014, 15:05:42) [GCC 4.8.2] on linux2 Type \"help\", \"copyright\", \"credits\" or \"license\" for more information. &gt;&gt;&gt; d={} ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-do-string-representations-of-dictionaries-have-order-in-python-3-4\/","og_site_name":"JassWeb","article_published_time":"2022-10-15T01:31:43+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-do-string-representations-of-dictionaries-have-order-in-python-3-4\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-do-string-representations-of-dictionaries-have-order-in-python-3-4\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] Do string representations of dictionaries have order in Python 3.4?","datePublished":"2022-10-15T01:31:43+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-do-string-representations-of-dictionaries-have-order-in-python-3-4\/"},"wordCount":204,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["dictionary","python","python-3.4","python-3.x"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-do-string-representations-of-dictionaries-have-order-in-python-3-4\/","url":"https:\/\/jassweb.com\/solved\/solved-do-string-representations-of-dictionaries-have-order-in-python-3-4\/","name":"[Solved] Do string representations of dictionaries have order in Python 3.4? - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2022-10-15T01:31:43+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-do-string-representations-of-dictionaries-have-order-in-python-3-4\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-do-string-representations-of-dictionaries-have-order-in-python-3-4\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-do-string-representations-of-dictionaries-have-order-in-python-3-4\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] Do string representations of dictionaries have order in Python 3.4?"}]},{"@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\/#\/schema\/person\/image\/","url":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586","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\/16340","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=16340"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/16340\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=16340"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=16340"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=16340"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}