python - 递增循环与字典的键关联的值,而不创建新的递增键
问题描述
我想增加循环与字典键关联的值,而不创建一个新的递增键,如下所示:
代码 :
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)
我得到一本这样的字典:
{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
希望即使这不是您想要的,您也会发现它是一个很好的开始
推荐阅读
- r - 根据名称中包含模式的列在 dplyr 中构建 rowSums
- ruby-on-rails - 在 Rails 中将 MiniMagick::Image 转换为 ActionDispatch::Http::UploadedFile
- python - 为什么我会收到不可为空的字段错误,并且要更正用户 ForeignKey 以将表相互关联?
- sed - 跨行匹配模式
- java - 处理 3 - Android 模式 - 空白窗口“找不到 Android SDK”
- android - 如何根据指纹识别用户?
- ruby-on-rails - Rails:未定义的方法“任何?” 对于零:NilClass
- google-api-php-client - YouTube Live Streaming API V3 插入直播时 scheduleStartTime 不能正常工作
- javascript - VueJs open HREF in new tab with BootstrapVue
- java - Spring JPA:如何在一轮中运行多 sql 查询?