gpt4 book ai didi

python - 更改Python中的重复值

转载 作者:行者123 更新时间:2023-11-30 22:31:51 26 4
gpt4 key购买 nike

我有一本数字列表字典,例如:

tDict = {1:[400,200,400,100,0],2:[100,200,300,400,400],3:[200,200,200,100,100]}

列表中不允许有重复值,因此我的策略是迭代并用递增值替换重复值。这将产生:

{1:[400,200,401,100,0],2:[100,200,300,400,401],3:[200,201,202,100,101]

我尝试了计数器等的多种组合来实现此目的:

for k,v in tdict.items():
for x in range(len(v)):
for y in range(len(v):
if v[x]==v[y] and y!0
v[y]+=1

等等。 (正如你可能猜到的那样,我对 python 还很陌生)。任何帮助将不胜感激。

最佳答案

这是使用 itertools.count 执行此操作的一种方法从每个列表构建一个新的字典,然后在找到整数的新实例时增加计数对象。然后将当前计数添加到数字中:

from itertools import count

for k, v in tDict.items():
d = {k: count() for k in v}
tDict[k] = [x+next(d[x]) for x in v]

print tDict
# {1: [400, 200, 401, 100, 0],
# 2: [100, 200, 300, 400, 401],
# 3: [200, 201, 202, 100, 101]}

关于python - 更改Python中的重复值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45675461/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com