在Python数组中排序日期
如何在Python 2.4中对下面的日期数组进行排序
timestamps = ['2011-06-2', '2011-08-05', '2011-02-04', '2010-1-14', '2010-12-13', '2010-1-12', '2010-2-11', '2010-2-07', '2010-12-02', '2011-11-30', '2010-11-26', '2010-11-23', '2010-11-22', '2010-11-16']
9 个回答
只需要这样做:
timestamps.sort()
结果:
['2010-1-12',
'2010-1-14',
'2010-11-16',
'2010-11-22',
'2010-11-23',
'2010-11-26',
'2010-12-02',
'2010-12-13',
'2010-2-07',
'2010-2-11',
'2011-02-04',
'2011-06-2',
'2011-08-05',
'2011-11-30']
年份-月份-日期的顺序可以让我们进行这样的排序,因为在时间流逝的时候,日期会先变化,然后是月份,最后是年份。
这就像数字一样:最右边的数字(个位数)会在十位数之前变化,而十位数又会在百位数之前变化,当我们逐渐加1的时候。
还有一个事实是,sort() 是从左到右处理的:如果两个要排序的字符串在某个特定位置的字符相同,它会检查这两个字符串在下一个位置的字符,来决定哪个字符在逻辑上应该排在前面。
再加上'0' < '1' 是真,'1' < '2' 也是真,等等。
当然可以!请看下面的内容:
在编程中,有时候我们需要让程序在特定的条件下执行某些操作。这就像给程序设定了一些规则,只有当这些规则被满足时,程序才会继续进行。比如说,如果你在玩游戏,只有当你收集到足够的金币,才能解锁下一关。
在代码中,这种条件通常是通过“如果”语句来实现的。简单来说,“如果”语句就像是一个检查点,程序会先看看条件是否成立,如果成立,就执行后面的代码;如果不成立,程序就会跳过这些代码,继续执行其他部分。
这样做的好处是可以让程序更加灵活,能够根据不同的情况做出不同的反应。就像你在生活中,根据天气的变化选择穿衣服一样,程序也可以根据不同的输入或状态来决定该做什么。
希望这个解释能帮助你更好地理解这个概念!
>>> import datetime
>>> dates = [datetime.datetime.strptime(ts, "%Y-%m-%d") for ts in timestamps]
>>> dates.sort()
>>> sorteddates = [datetime.datetime.strftime(ts, "%Y-%m-%d") for ts in dates]
>>> sorteddates
['2010-01-12', '2010-01-14', '2010-02-07', '2010-02-11', '2010-11-16', '2010-11-
22', '2010-11-23', '2010-11-26', '2010-12-02', '2010-12-13', '2011-02-04', '2011
-06-02', '2011-08-05', '2011-11-30']
在编程中,有时候我们需要让程序在特定的条件下执行特定的操作。比如说,如果你想让程序在某个条件成立时做某件事,而在条件不成立时做另一件事,这时候就可以用到“条件语句”。
条件语句就像是一个分岔路口,程序会根据你设定的条件来决定走哪条路。最常见的条件语句是“如果...那么...”的结构。比如说,你可以设定“如果温度高于30度,那么就打开空调”。这样,程序就会根据温度的变化来决定是否打开空调。
除了基本的“如果”语句,还有一些其他的条件语句,比如“否则”或者“否则如果”。这些可以帮助你处理更多的情况。例如,你可以说“如果温度高于30度,就打开空调;否则,如果温度低于10度,就打开暖气”。这样一来,程序就能根据不同的温度做出不同的反应。
总之,条件语句让你的程序更聪明,能够根据不同的情况做出不同的决定。
sorted(timestamps, key=lambda d: map(int, d.split('-')))