我想访问列表中的字符串
my_list=['12:00','12:30','13:00','13:30','15:00','15:30']
我尝试了以下代码,但是得到的答案是1和1。
for i,my_list in enumerate(my_list):
my_list_start=my_list[i]
my_list_end=my_list[i+1]
预期结果是: 我必须结合列表中的两个值。例如, 我的输出应如下所示:
[{"start":12:00,'end':12:30},{'start':12:30,'end':13:00},
{'start':13:00,'end':13:30},{'start':15:00,'end':15:30'}]
答案 0 :(得分:1)
for i,my_list in enumerate(my_list): #my_list is refering the the string at i not my_list
my_list_start=my_list[i]
my_list_end=my_list[i+1]
您不能重新定义要遍历的列表,否则会引起奇怪的问题。在这种情况下,它被重新定义为字符串,并且正在访问其中的第一个数字。
执行此操作:
for i,item in enumerate(my_list): # notice ``ITEM`` instead of my_list (we don't want to rename my_list)
my_list_start=my_list[i]
my_list_end=my_list[i+1]
或者甚至不用担心枚举:
for idx in range(my_list):
my_list_start= my_list[idx]
my_list_end=my_list[idx+1]
然后我假设您将其放入其他地方的字典中,因为您实际上没有任何逻辑可以这样做。