Python 3.x 访问列表中的字符串并合并到词典中

Python 3.x 访问列表中的字符串并合并到词典中,python-3.x,Python 3.x,我想访问列表中的字符串 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,'en

我想访问列表中的字符串

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'}]
您不能重新定义正在迭代的列表,否则它将导致奇怪的问题。在本例中,它被重新定义为一个字符串,并且正在访问该字符串中的第一个数字

改为这样做:

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]

那么我假设你把它放在其他地方的字典里,因为你在这里没有任何逻辑来这样做。

为什么没有
'13:30',输出中的“15:00”
?这与您在另一个问题中遇到的问题相同:我不需要将13:30和15:00合并,因为我从访问第一个元素的其他迭代中获得“15:00”,但是现在我必须组合使用和不使用enumerate时可能重复的值,但在两种情况下出现错误。当我尝试使用enumerate时,例如,对于I,enumerate中的值(我的列表):。。。新开始=值[i]。。。新结束=值[i+1]。。。打印(新开始)。。。1 200 0我得到了这个结果。@bala,正如我在回答中特别指出的那样。不要将循环中的变量更改为枚举使用的变量。这是给定索引处的字符串,而不是列表
for idx in range(my_list):
    my_list_start= my_list[idx]
    my_list_end=my_list[idx+1]