2024-09-30 22:14:48 发布
网友
content_dict = [(u'Bowe Bergdahl', [u'Sat, 31 May 2014 16:03:32 EDT']), (u"U.S. 'hypocrisy' in cybertheft charge", [u'Fri, 23 May 2014 02:30:44 EDT'])
此lambda函数有什么问题:
我得到以下错误:
你的代码有几个问题。您省略了年份%Y,从而使strptime格式不正确。您还将日期附在一个导致其他问题的列表中。您试图使用x[0],而您的日期被括在x[1]中。下面是一个(几乎所有)代码的工作示例(请注意,时区已被删除)。原因见下文)。在
%Y
strptime
x[0]
x[1]
>>> content = [(u'Bowe Bergdahl',u'Sat, 31 May 2014 16:03:32'), (u"U.S. 'hypocrisy' in cybertheft charge", u'Fri, 23 May 2014 02:30:44')] >>> content2 = sorted(content, key=lambda x:datetime.datetime.strptime(x[1], '%a, %d %B %Y %H:%M:%S')) >>> content2 [(u"U.S. 'hypocrisy' in cybertheft charge", u'Fri, 23 May 2014 02:30:44'), (u'Bowe Bergdahl', u'Sat, 31 May 2014 16:03:32')]
然而,我们从this question得到,strptime与时区有一些问题。为了解决这个问题,我们使用^{}包
注意,-0400是相对于GMT的EDT
-0400
要使用它对列表进行排序,请执行以下操作
我也有一个时区的问题,不得不删除它。
import datetime content_dict = [(u'Bowe Bergdahl', [u'Sat, 31 May 2014 16:03:32']), (u"U.S. 'hypocrisy' in cybertheft charge", [u'Fri, 23 May 2014 02:30:44'])] content2_dict = sorted(content_dict, key=lambda x: datetime.datetime.strptime(x[1][0],'%a, %d %b %Y %H:%M:%S')) print content2_dict
在%b和%H:%M:%S之间缺少{}。在
%b
%H:%M:%S
要访问content_dict中的时间字符串,应使用x[1][0]而不是{}。在
content_dict
x[1][0]
这里有一个解决方案,因为python(或datetime模块)在处理时区时遇到了一些问题(HKT可以解析,而EDT不能解析,这让我很困惑),并且假设所有时区都是相同的,我只是简单地将所有时区剥离掉。在
content2_dict = sorted(content_dict, key=lambda x: datetime.strptime(x[1][0][:-4], '%a, %d %b %Y %H:%M:%S'))
你的代码有几个问题。您省略了年份
%Y
,从而使strptime
格式不正确。您还将日期附在一个导致其他问题的列表中。您试图使用x[0]
,而您的日期被括在x[1]
中。下面是一个(几乎所有)代码的工作示例(请注意,时区已被删除)。原因见下文)。在然而,我们从this question得到,} 包
^{pr2}$strptime
与时区有一些问题。为了解决这个问题,我们使用^{注意,
-0400
是相对于GMT的EDT要使用它对列表进行排序,请执行以下操作
^{3}$我也有一个时区的问题,不得不删除它。
在}。在
%b
和%H:%M:%S
之间缺少{要访问}。在
content_dict
中的时间字符串,应使用x[1][0]
而不是{这里有一个解决方案,因为python(或datetime模块)在处理时区时遇到了一些问题(HKT可以解析,而EDT不能解析,这让我很困惑),并且假设所有时区都是相同的,我只是简单地将所有时区剥离掉。在
相关问题 更多 >
编程相关推荐