title: Sort list of lists based on date and first element
body: <pre class="lang-py prettyprint-override"><code>ArrayData = [['a', 'ad', '02/10/2021  7:39:19 am', 'Rank:1'],
               ['b', 'db', '02/10/2021 6:25:20 am', 'Rank:2'],
               ['a', 'sd', '02/10/2021  5:39:19 am', 'Rank:3'],
               ['b', 'esas', '02/10/2021 6:25:20 am', 'Rank:1'],
               ['a', 'aser', '02/10/2021  9:39:19 am', 'Rank:2'],
               ['d', 'ssss', '02/10/2021  11:39:19 am', 'Rank:1']]
  </code></pre>
  <p>The script should</p>
  <ol>
  <li><p>Sort the same group (eg. sort group 'a' first, followed by group 'b', 'c', 'd') base on the time. More recent times and dates have higher ranks.</p>
  </li>
  <li><p>Update the &quot;rank&quot; in each subarray</p>
  </li>
  </ol>
  <p>Expected output:</p>
  <pre class="lang-py prettyprint-override"><code>[['d', 'ssss', '02/10/2021  11:39:19 am', 'Rank:1'],
   ['b', 'esas', '03/10/2021 6:25:20 am', 'Rank:2'],
   ['b', 'db', '02/10/2021 6:25:20 am', 'Rank:1'],
   ['a', 'aser', '02/10/2021  9:39:19 am', 'Rank:3'],
   ['a', 'ad', '02/10/2021  7:39:19 am', 'Rank:2'],
   ['a', 'sd', '02/10/2021  5:39:19 am', 'Rank:1']]
  </code></pre>
  <p>This is the current script I wrote</p>
  <pre class="lang-py prettyprint-override"><code>import operator
  result = sorted(ArrayData, key=operator.itemgetter(2), reverse=True)
  print(result)
  </code></pre>
  <p>May I know how to improve it?</p>