my_date_list = ['01', '02', '03','04','05','06','07','08','09','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24','25','26','27','28','29','30','31']
str_date_list=[]
for item in my_date_list:
str_date_list.append(item+'-'+'05' + '-' +'09')
counter= 0
i = iter(range(31))
for item in i:
daily_user_status_list=[]
print counter
val_time1 = str_date_list[counter]
val_time2 = str_date_list[counter + 1]
counter =counter + 1
Run Code Online (Sandbox Code Playgroud)
我在做的时候遇到代码错误counter = counter + 1.基本上,我str_date_list每次都需要不同的时间.但是counter = counter +1给我代码错误.
这样做还有其他办法吗?
计数器与您正在迭代的序列不一致.但更重要的是,柜台完全没必要.
你有几个手动迭代的东西可以自动化,它们会导致你绊倒.特别是,你几乎不需要在迭代时手动跟踪计数器; Python的序列类型知道如何迭代自己.
这是我重写上面代码的意图(在交互式解释器中显示它的工作原理):
>>> dates = ["%(day)02d-05-09" % vars() for day in range(1, 31+1)]
>>> date_ranges = zip(dates[:-1], dates[1:])
>>> for (date_begin, date_end) in date_ranges:
... print (date_begin, date_end)
...
('01-05-09', '02-05-09')
('02-05-09', '03-05-09')
('03-05-09', '04-05-09')
…
('28-05-09', '29-05-09')
('29-05-09', '30-05-09')
('30-05-09', '31-05-09')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7420 次 |
| 最近记录: |