Python 增量循环与字典键关联的值,不创建新的增量键

Python 增量循环与字典键关联的值,不创建新的增量键,python,dictionary,for-loop,Python,Dictionary,For Loop,我希望递增循环与字典键关联的值,而不创建新的递增键,如下所示: 代码: List_elem = ["D", "V", "D", "D", "D", "V", "D", "V", "V", "V", "V","D","V","V&q

我希望递增循环与字典键关联的值,而不创建新的递增键,如下所示:

代码:

List_elem = ["D", "V", "D", "D", "D", "V", "D", "V", "V", "V", "V","D","V","V"]
elem_of_list = "D"
dic_list = {}
valeur = 0
for numberResult in range(0, len(List_elem)):
       dic_list[len(dic_list)] = valeur = valeur + 1
       print(dic_list) 
下面是代码执行后的字典:

{0: 1}
{0: 1, 1: 2}
{0: 1, 1: 2, 2: 3}
{0: 1, 1: 2, 2: 3, 3: 4}
{0: 1, 1: 2, 2: 3, 3: 4, 4: 5}
{0: 1, 1: 2, 2: 3, 3: 4, 4: 5, 5: 6}
{0: 1, 1: 2, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7}
{0: 1, 1: 2, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8}
{0: 1, 1: 2, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9}
{0: 1, 1: 2, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}
{0: 1, 1: 2, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10, 10: 11}
{0: 1, 1: 2, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10, 10: 11, 11: 12}
{0: 1, 1: 2, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10, 10: 11, 11: 12, 12: 13}
{0: 1, 1: 2, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10, 10: 11, 11: 12, 12: 13, 13: 14}
>>>
但我想让它把这本字典还给我:

{0:14}
而不仅仅是与键关联的值是递增的,这里是与最后一个键关联的值。 如果没有循环,我可以正常递增。例如,使用此代码:

dic_list = {1: 3, 2: 6, 3: 9, 4: 12}
valeur = 0
dic_list[len(dic_list)] = valeur = valeur + 1
print(dic_list)
List_elem = ["D", "V", "D", "D", "D", "V", "D", "V", "V", "V", "V","D","V","V"]
elem_of_list = "D"
valeur = 0
dic_list = {1: valeur}

for numberResult in range(0, len(List_elem)):
       if elem_of_list != List_elem[numberResult]:
         dic_list[len(dic_list)] = valeur = valeur + 1
       elif elem_of_list == List_elem[numberResult] and elem_of_list != List_elem[numberResult-1] and numberResult-1 > - 1:
         dic_list[len(dic_list)+1] = valeur = 0 
我有一本这样的字典:

{1: 3, 2: 6, 3: 9, 4: 1}
与最后一个键关联的元素的值已从12更改为1。如我所愿。
如何在循环中执行此操作?

我不得不说,我没有完全理解整个问题,但如果我将其视为一个一般问题,即查找与特定值不匹配的最长列表,那么这可能是一个很好的方法:

from itertools import groupby
a = [1,2,3,2,3,4,6,7,2,3,4,2,0,2,2]
ref = 2
m_ans = [len(list(v)) for i,v in groupby(a, lambda x: x!=ref)]
print(max(m_ans))
输出:

4

希望即使这不是您想要的,您也会发现这是一个良好的开端

我用以下代码解决了我的问题:

dic_list = {1: 3, 2: 6, 3: 9, 4: 12}
valeur = 0
dic_list[len(dic_list)] = valeur = valeur + 1
print(dic_list)
List_elem = ["D", "V", "D", "D", "D", "V", "D", "V", "V", "V", "V","D","V","V"]
elem_of_list = "D"
valeur = 0
dic_list = {1: valeur}

for numberResult in range(0, len(List_elem)):
       if elem_of_list != List_elem[numberResult]:
         dic_list[len(dic_list)] = valeur = valeur + 1
       elif elem_of_list == List_elem[numberResult] and elem_of_list != List_elem[numberResult-1] and numberResult-1 > - 1:
         dic_list[len(dic_list)+1] = valeur = 0 
我刚刚用key=1和value-associate=0初始化了dictionary
dic\u list
。 我认为,因为像密钥不存在一样,
len(dic_列表)
返回0,但当我增加密钥的值=0时,新密钥被创建,并且
len(dic_列表)
变为等于1,依此类推,这将创建每一圈的密钥增量,并创建密钥。
如果有人能证实,并更好地解释,如果它不是很清楚,我的解释是好的或相反正确。我想听听你的意见。

你能举一个完整列表的例子吗?结果是,我不清楚错误是什么。关于如何创建一个最小的、可复制的示例,请参见本文:我在这个网站上获得了一个团队的结果列表:使用此函数
match\u results=driver.find\u elements(By.CSS\u SELECTOR,.wld”)
completel列表中包含[D,V,D,V,V,V,V,V,V],并且使用此结果=列表中的一个值。请提供预期值。显示中间结果与您预期的不同之处。我们应该能够复制和粘贴一个连续的代码块,执行该文件,并重现您的问题以及跟踪问题点的输出。我已经修改了代码,现在更清楚了。谢谢,但这不是一个一般性的问题。我编辑了我的问题,我希望它能更容易理解。对不起,如果在我不知道问题出在哪里之前还不清楚的话