使用索引迭代两个列表
Iteration over two lists using index
我正在尝试按特定时间间隔创建时间和日期列表。时间和日期存在于时间序列 csv 中,我想编写一个代码来从特定时间间隔中提取数据。我为日期和时间制作了两个列表,并且正在创建一个新变量来存储感兴趣的日期和时间。我尝试了以下代码,但出现错误:
day = ['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']
hour = ['0', '3', '6', '9', '12', '15','18','21']
year, month, day, hour = year, month, day, hour # 2016-01-01 @01:00 am
day_time = []
for i in day.index:
for j in hour.index:
day_time = int("".join(day[i], hour[j], "00",))
print(day_time)
TypeError Traceback (most recent call last)
<ipython-input-72-15de17abf279> in <module>
6 year, month, day, hour = year, month, day, hour # 2016-01-01 @01:00 am
7 day_time = []
----> 8 for i in day.index:
9 for j in hour.index:
10 day_time = int("".join(day[i], hour[j], "00",))
TypeError: 'builtin_function_or_method' object is not iterable
有人可以提出解决方案吗?
我认为 enumerate()
更适合你
for indexDay, valueDay in enumerate(day):
for indexHour, valueHour in enumerate(hour):
day_time.append(int("".join([valueDay, valueHour, "00"])))
index
是一个函数,而不是 list
实例的属性。请参考Data structures
此外,str
数据类型的join
函数接受迭代,参考here
此外,正如@Lecdi 指出的那样,您应该使用 append
添加到列表而不是使用 =
重新定义变量;请参考here
能够做自己想做的事:
day = ['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']
hour = ['0', '3', '6', '9', '12', '15','18','21']
year, month, day, hour = year, month, day, hour # 2016-01-01 @01:00 am
day_time = []
for day_i in day:
for hour_i in hour:
day_time.append(int("".join([day_i, hour_i, "00"])))
print(day_time)
我正在尝试按特定时间间隔创建时间和日期列表。时间和日期存在于时间序列 csv 中,我想编写一个代码来从特定时间间隔中提取数据。我为日期和时间制作了两个列表,并且正在创建一个新变量来存储感兴趣的日期和时间。我尝试了以下代码,但出现错误:
day = ['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']
hour = ['0', '3', '6', '9', '12', '15','18','21']
year, month, day, hour = year, month, day, hour # 2016-01-01 @01:00 am
day_time = []
for i in day.index:
for j in hour.index:
day_time = int("".join(day[i], hour[j], "00",))
print(day_time)
TypeError Traceback (most recent call last)
<ipython-input-72-15de17abf279> in <module>
6 year, month, day, hour = year, month, day, hour # 2016-01-01 @01:00 am
7 day_time = []
----> 8 for i in day.index:
9 for j in hour.index:
10 day_time = int("".join(day[i], hour[j], "00",))
TypeError: 'builtin_function_or_method' object is not iterable
有人可以提出解决方案吗?
我认为 enumerate()
更适合你
for indexDay, valueDay in enumerate(day):
for indexHour, valueHour in enumerate(hour):
day_time.append(int("".join([valueDay, valueHour, "00"])))
index
是一个函数,而不是 list
实例的属性。请参考Data structures
此外,str
数据类型的join
函数接受迭代,参考here
此外,正如@Lecdi 指出的那样,您应该使用 append
添加到列表而不是使用 =
重新定义变量;请参考here
能够做自己想做的事:
day = ['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']
hour = ['0', '3', '6', '9', '12', '15','18','21']
year, month, day, hour = year, month, day, hour # 2016-01-01 @01:00 am
day_time = []
for day_i in day:
for hour_i in hour:
day_time.append(int("".join([day_i, hour_i, "00"])))
print(day_time)