{"id":21099,"date":"2022-11-12T03:33:42","date_gmt":"2022-11-11T22:03:42","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-how-to-sort-python-list-in-a-way-that-if-1-should-come-before-and-10-and-2-before-20\/"},"modified":"2022-11-12T03:33:42","modified_gmt":"2022-11-11T22:03:42","slug":"solved-how-to-sort-python-list-in-a-way-that-if-1-should-come-before-and-10-and-2-before-20","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-how-to-sort-python-list-in-a-way-that-if-1-should-come-before-and-10-and-2-before-20\/","title":{"rendered":"[Solved] how to sort python list in a way that if 1 should come before and 10 and 2 before 20"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-52137432\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"52137432\" data-parentid=\"52136351\" data-score=\"0\" data-position-on-page=\"2\" data-highest-scored=\"0\" data-question-has-accepted-highest-score=\"0\" itemprop=\"suggestedAnswer\" 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>You want an ordered list of strings. Those strings are representations of numbers. Now you want a grouped sorting. First everything that starts with a <code>'9'<\/code>, then <code>'8'<\/code> and down to <code>'1'<\/code>. In each of those groups the values should be sorted in numeric order.<\/p>\n<p>An example list:<\/p>\n<pre><code>a = ['11', '105', '2', '8', '2', '3', '6', '4', '1', '1', '10', '81', '3', '3', '5', '10', '8', '7', '9', '6', '4', '2']\n<\/code><\/pre>\n<p>Now let&#8217;s do a grouped sorting with <code>a.sort(key=lambda v: v[0])<\/code>:<\/p>\n<pre><code>['11', '105', '1', '1', '10', '10', '2', '2', '2', '3', '3', '3', '4', '4', '5', '6', '6', '7', '8', '81', '8', '9']\n<\/code><\/pre>\n<p>We see, that the values are grouped now, but we want the values starting with <code>'9'<\/code> first. We&#8217;re going to fix this by reversing the result with <code>a.sort(key=lambda v: v[0], reversed=True)<\/code><\/p>\n<pre><code>['9', '8', '81', '8', '7', '6', '6', '5', '4', '4', '3', '3', '3', '2', '2', '2', '11', '105', '1', '1', '10', '10']\n<\/code><\/pre>\n<p>The groups are correct, now we have to sort the values in the groups. So after the sorting according to the first character we have to sort the value by number. That&#8217;s easy, we just have to create a <code>tuple<\/code> for the key: <code>a.sort(key=lambda v: (v[0], int(v)), reverse=True)<\/code><\/p>\n<pre><code>['9', '81', '8', '8', '7', '6', '6', '5', '4', '4', '3', '3', '3', '2', '2', '2', '105', '11', '10', '10', '1', '1']\n<\/code><\/pre>\n<p>OK, the values are sorted now, but we have to reverse them in the groups. The easiest way to do that ist to take the negative number: <code>a.sort(key=lambda v: (v[0], -int(v)), reverse=True)<\/code>.<\/p>\n<pre><code>['9', '8', '8', '81', '7', '6', '6', '5', '4', '4', '3', '3', '3', '2', '2', '2', '1', '1', '10', '10', '11', '105']\n<\/code><\/pre>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\">1<\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved how to sort python list in a way that if 1 should come before and 10 and 2 before 20 <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] You want an ordered list of strings. Those strings are representations of numbers. Now you want a grouped sorting. First everything that starts with a &#8216;9&#8217;, then &#8216;8&#8217; and down to &#8216;1&#8217;. In each of those groups the values should be sorted in numeric order. An example list: a = [&#8217;11&#8217;, &#8216;105&#8217;, &#8216;2&#8217;, &#8216;8&#8217;, &#8230; <a title=\"[Solved] how to sort python list in a way that if 1 should come before and 10 and 2 before 20\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-how-to-sort-python-list-in-a-way-that-if-1-should-come-before-and-10-and-2-before-20\/\" aria-label=\"More on [Solved] how to sort python list in a way that if 1 should come before and 10 and 2 before 20\">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":[349],"class_list":["post-21099","post","type-post","status-publish","format-standard","hentry","category-solved","tag-python"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>[Solved] how to sort python list in a way that if 1 should come before and 10 and 2 before 20 - 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-how-to-sort-python-list-in-a-way-that-if-1-should-come-before-and-10-and-2-before-20\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] how to sort python list in a way that if 1 should come before and 10 and 2 before 20 - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] You want an ordered list of strings. Those strings are representations of numbers. Now you want a grouped sorting. First everything that starts with a &#039;9&#039;, then &#039;8&#039; and down to &#039;1&#039;. In each of those groups the values should be sorted in numeric order. An example list: a = [&#039;11&#039;, &#039;105&#039;, &#039;2&#039;, &#039;8&#039;, ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-how-to-sort-python-list-in-a-way-that-if-1-should-come-before-and-10-and-2-before-20\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2022-11-11T22:03:42+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-how-to-sort-python-list-in-a-way-that-if-1-should-come-before-and-10-and-2-before-20\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-to-sort-python-list-in-a-way-that-if-1-should-come-before-and-10-and-2-before-20\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] how to sort python list in a way that if 1 should come before and 10 and 2 before 20\",\"datePublished\":\"2022-11-11T22:03:42+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-to-sort-python-list-in-a-way-that-if-1-should-come-before-and-10-and-2-before-20\/\"},\"wordCount\":186,\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"keywords\":[\"python\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-to-sort-python-list-in-a-way-that-if-1-should-come-before-and-10-and-2-before-20\/\",\"url\":\"https:\/\/jassweb.com\/solved\/solved-how-to-sort-python-list-in-a-way-that-if-1-should-come-before-and-10-and-2-before-20\/\",\"name\":\"[Solved] how to sort python list in a way that if 1 should come before and 10 and 2 before 20 - JassWeb\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#website\"},\"datePublished\":\"2022-11-11T22:03:42+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-to-sort-python-list-in-a-way-that-if-1-should-come-before-and-10-and-2-before-20\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jassweb.com\/solved\/solved-how-to-sort-python-list-in-a-way-that-if-1-should-come-before-and-10-and-2-before-20\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-to-sort-python-list-in-a-way-that-if-1-should-come-before-and-10-and-2-before-20\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jassweb.com\/solved\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] how to sort python list in a way that if 1 should come before and 10 and 2 before 20\"}]},{\"@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=1775798750\",\"contentUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\/\/jassweb.com\"],\"url\":\"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] how to sort python list in a way that if 1 should come before and 10 and 2 before 20 - 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-how-to-sort-python-list-in-a-way-that-if-1-should-come-before-and-10-and-2-before-20\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] how to sort python list in a way that if 1 should come before and 10 and 2 before 20 - JassWeb","og_description":"[ad_1] You want an ordered list of strings. Those strings are representations of numbers. Now you want a grouped sorting. First everything that starts with a '9', then '8' and down to '1'. In each of those groups the values should be sorted in numeric order. An example list: a = ['11', '105', '2', '8', ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-how-to-sort-python-list-in-a-way-that-if-1-should-come-before-and-10-and-2-before-20\/","og_site_name":"JassWeb","article_published_time":"2022-11-11T22:03:42+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-how-to-sort-python-list-in-a-way-that-if-1-should-come-before-and-10-and-2-before-20\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-how-to-sort-python-list-in-a-way-that-if-1-should-come-before-and-10-and-2-before-20\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] how to sort python list in a way that if 1 should come before and 10 and 2 before 20","datePublished":"2022-11-11T22:03:42+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-how-to-sort-python-list-in-a-way-that-if-1-should-come-before-and-10-and-2-before-20\/"},"wordCount":186,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["python"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-how-to-sort-python-list-in-a-way-that-if-1-should-come-before-and-10-and-2-before-20\/","url":"https:\/\/jassweb.com\/solved\/solved-how-to-sort-python-list-in-a-way-that-if-1-should-come-before-and-10-and-2-before-20\/","name":"[Solved] how to sort python list in a way that if 1 should come before and 10 and 2 before 20 - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2022-11-11T22:03:42+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-how-to-sort-python-list-in-a-way-that-if-1-should-come-before-and-10-and-2-before-20\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-how-to-sort-python-list-in-a-way-that-if-1-should-come-before-and-10-and-2-before-20\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-how-to-sort-python-list-in-a-way-that-if-1-should-come-before-and-10-and-2-before-20\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] how to sort python list in a way that if 1 should come before and 10 and 2 before 20"}]},{"@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=1775798750","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750","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\/21099","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=21099"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/21099\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=21099"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=21099"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=21099"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}