如何调用python日期列表中的每个第n个元素?
My Date = 2015-07-30
2015-07-31
2015-08-03
2015-08-04
2015-08-05
2015-08-06
2015-08-07
2015-08-10
2015-08-11
2015-08-12
2015-08-13
2015-08-14
如何从这里拨打每第二个约会? 我试过这个,但这不起作用。如何调用python日期列表中的每个第n个元素?
for i in range(0, len(Date), 2):
abc = Date[i]
你可以写这从列表中得到所有其他日期(指数0,2,4,...):
Date[::2]
要获得的其他日期(指数1,3, ......),你可以这样写:
Date[1::2]
你可以看一下这个answer的切片表示法的解释。
由于Date
是一个列表,你可能会想将它命名dates
,以表明它是一个集合:
dates = """2015-07-30
2015-07-31
2015-08-03
2015-08-04
2015-08-05
2015-08-06
2015-08-07
2015-08-10
2015-08-11
2015-08-12
2015-08-13
2015-08-14""".split()
print(dates[::2])
# ['2015-07-30', '2015-08-03', '2015-08-05', '2015-08-07', '2015-08-11', '2015-08-13']
print(dates[1::2])
# ['2015-07-31', '2015-08-04', '2015-08-06', '2015-08-10', '2015-08-12', '2015-08-14']
谢谢!我会试试这个。 –
my_dates = ['2015-07-30', '2015-07-31', '2015-08-03', '2015-08-04', '2015-08-05', '2015-08-06', '2015-08-07', '2015-08-10', '2015-08-11', '2015-08-12', '2015-08-13', '2015-08-14']
使用list comprehension
:
print([my_dates[i] for i in range(1, len(my_dates), 2)])
输出:
['2015-07-31', '2015-08-04', '2015-08-06', '2015-08-10', '2015-08-12', '2015-08-14']
对于上面的示例代码,你可以替换开始指数1
和印刷观察:
for i in range(1, len(my_dates), 2):
abc = my_dates[i]
print(abc)
谢谢。有用。 –
@ S.A太棒了!我认为其他答案更容易和更高效,但我只是试图修复示例代码中的错误。“快乐编码”。 – 0p3n5ourcE
什么是'MyDate'?一个列表?此外,你对“呼叫”的含义是什么?什么是预期的输出? –
考虑用实际的Python替换你的伪代码。 –
我的日期是一个列表。预计产量如2015-07-31,2015-08-04,2015-08-06等每2日。 –