Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python将所有datetime对象(日期)拉出_Python_Regex_Datetime - Fatal编程技术网

Python将所有datetime对象(日期)拉出

Python将所有datetime对象(日期)拉出,python,regex,datetime,Python,Regex,Datetime,如何从列表中提取所有日期 我总是可以循环测试。但我如何才能做得更好呢 我可以使用正则表达式,就像我在这里做的一样。但我知道还有更有效的方法 我在这里查看了一下,但似乎datetime对象不是内置类型。所以我想我不能走那条路。请提出其他建议 注意:我不知道日期是否为每4个值。我需要一些没有图案的东西 看看你的代码,你的列表如下: import datetime a=[datetime.datetime(2014, 4, 13, 0, 0), u'a', u'b', u'c',datetime.d

如何从列表中提取所有日期

我总是可以循环测试。但我如何才能做得更好呢

我可以使用正则表达式,就像我在这里做的一样。但我知道还有更有效的方法

我在这里查看了一下,但似乎
datetime
对象不是内置类型。所以我想我不能走那条路。请提出其他建议


注意:我不知道日期是否为每4个值。我需要一些没有图案的东西

看看你的代码,你的列表如下:

import datetime

a=[datetime.datetime(2014, 4, 13, 0, 0), u'a', u'b', u'c',datetime.datetime(2014, 4, 14, 0, 0), u'a', u'b', u'c', datetime.datetime(2014, 4, 15, 0, 0), u'a', u'b', u'c']
为此,您可以:

a = [date, x, x, x, date, x, x, x, date, x, ...]

然后将每个datetime对象格式化为您想要的任何模式。

查看您的代码,您的列表如下所示:

import datetime

a=[datetime.datetime(2014, 4, 13, 0, 0), u'a', u'b', u'c',datetime.datetime(2014, 4, 14, 0, 0), u'a', u'b', u'c', datetime.datetime(2014, 4, 15, 0, 0), u'a', u'b', u'c']
为此,您可以:

a = [date, x, x, x, date, x, x, x, date, x, ...]

然后将每个datetime对象格式化为您想要的任何模式。

我们知道您想要的类型是
datetime.datetime
,因此编写列表理解似乎是最干净的方式(无需担心模式):

我怀疑您是否可以使用正则表达式(除非您将所有内容都转换为字符串),除非您选择将每个
datetime
转换为
string
unicode
表示,此时,您仍在检查类型

b = [i for i in a if type(i) == datetime.datetime]
>>打印[为a中的i键入(i)]
[, , , , , , ]

我们知道您想要的类型是
datetime.datetime
,因此编写列表理解似乎是最干净的方法(不必担心模式):

我怀疑您是否可以使用正则表达式(除非您将所有内容都转换为字符串),除非您选择将每个
datetime
转换为
string
unicode
表示,此时,您仍在检查类型

b = [i for i in a if type(i) == datetime.datetime]
>>打印[为a中的i键入(i)]
[, , , , , , ]

你说的“把所有日期都拉出来”是什么意思?不管怎样,你使用的任何正则表达式或其他匹配过程都必然会以某种方式在列表中循环。你不妨自己做。看看Makoto的答案。你说的“把所有的日期都拉出来”是什么意思?你使用的任何正则表达式或其他匹配过程都会以某种方式在列表中循环。你不妨自己做。见Makoto的答案。谢谢Makoto。你能指出我在哪里可以读到更多关于将
for
if
语句放在同一行的内容吗?这叫什么?正如我上面提到的,它们被称为“列表理解”。这被称为列表理解,是解决这类问题的一种很好的方法。谢谢Makoto。你能指出我在哪里可以读到更多关于将
for
if
语句放在同一行的内容吗?这叫什么?正如我上面提到的,它们被称为“列表理解”。这被称为列表理解,是解决这类问题的一种很好的方法。