<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DZone Snippets: cmp code</title>
    <link>http://snippets.dzone.com/posts</link>
    <pubDate>Thu, 24 Jul 2008 23:15:37 GMT</pubDate>
    <description>DZone Snippets: cmp code</description>
    <item>
      <title>Python sorting</title>
      <link>http://snippets.dzone.com/posts/show/1696</link>
      <description>list.sort() work in place (doesn't return anything)&lt;br /&gt;If you want a version that return result, use sorted() function.&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&gt;&gt;&gt; a = [5, 2, 3, 1, 4]&lt;br /&gt;&gt;&gt;&gt; a.sort()    # become [1, 2, 3, 4, 5]&lt;br /&gt;&gt;&gt;&gt; a.sort(cmp) # same as above&lt;br /&gt;&lt;br /&gt;&gt;&gt;&gt; a = "This is a test string from Andrew".split()&lt;br /&gt;&gt;&gt;&gt; a.sort(key=str.lower) # using key is simpler&lt;br /&gt;# ['a', 'Andrew', 'from', 'is', 'string', 'test', 'This']&lt;br /&gt;&lt;br /&gt;&gt;&gt;&gt; import operator &lt;br /&gt;&gt;&gt;&gt; L = [('c', 2), ('d', 1), ('a', 4), ('b', 3)]&lt;br /&gt;&gt;&gt;&gt; sorted(L, key=operator.itemgetter(1))&lt;br /&gt;[('d', 1), ('c', 2), ('b', 3), ('a', 4)]&lt;br /&gt;# itemgetter allows easy Schwartzian transform&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;3 equivalent ways&lt;br /&gt;- key=operator.itemgetter(1)&lt;br /&gt;- key=lambda x: x[1]&lt;br /&gt;- cmp=lambda a,b: cmp(a[1], b[1])&lt;br /&gt;&lt;br /&gt;Learn more at &lt;a href=http://wiki.python.org/moin/HowTo/Sorting&gt;Sorting Howto&lt;/a&gt;.</description>
      <pubDate>Mon, 13 Mar 2006 22:04:01 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/1696</guid>
      <author>korakot (Korakot Chaovavanich)</author>
    </item>
  </channel>
</rss>
