Python 2.7 重置for循环
在阅读字典时有没有办法重置for循环?我试图在读取for循环时将项添加到字典中,这样这些项就不会被遍历 例如:Python 2.7 重置for循环,python-2.7,dictionary,Python 2.7,Dictionary,在阅读字典时有没有办法重置for循环?我试图在读取for循环时将项添加到字典中,这样这些项就不会被遍历 例如: def assignCircuits( jugglerPriority, numberofJugglerPerCircuit, numberofCircuit): circuitAssign = defaultdict(list) for juggler,jugglerChoice in jugglerPriority(): for choice in juggler
def assignCircuits( jugglerPriority, numberofJugglerPerCircuit, numberofCircuit):
circuitAssign = defaultdict(list)
for juggler,jugglerChoice in jugglerPriority():
for choice in jugglerChoice:
circuit, productVal = choice
if len(circuitAssign[circuit]) < numberofJugglerPerCircuit:
circuitAssign[circuit].append(dict(jugglerName = juggler, jugglerParams = jugglerChoice,value=productVal))
from operator import itemgetter
circuitAssign[circuit] = sorted(circuitAssign[circuit], key=itemgetter('value'))
break;
elif productVal > circuitAssign[circuit][0]['value'] and len(circuitAssign[circuit]) == numberofJugglerPerCircuit:
jugglerRemoved = circuitAssign[circuit].pop(0)
print jugglerRemoved
print productVal
print circuitAssign[circuit][-1]['value']
circuitAssign[circuit].append(dict(jugglerName = juggler, jugglerParams = jugglerChoice, value=productVal))
from operator import itemgetter
circuitAssign[circuit] = sorted(circuitAssign[circuit], key=itemgetter('value'))
jugglerPriority[jugglerRemoved['jugglerName']].append(jugglerRemoved['jugglerParams'])
break
else:
continue
return circuitAssign
def分配电路(杂耍优先级、杂耍电路数、杂耍电路数):
circuitAssign=defaultdict(列表)
对于杂耍者,请使用杂耍优先权中的杂耍选择()
选择“杂耍之声”:
电路,productVal=选择
如果len(电路分配[circuit])circuitAssign[circuit][0]['value']和len(circuitAssign[circuit])==numberofJugglerPerCircuit:
jugglerRemoved=circuitAssign[circuit].pop(0)
印刷杂耍
打印productVal
打印电路分配[电路][1][“值”]
电路分配[circuit].append(dict(jugglerName=juggler,jugglerParams=jugglerChoice,value=productVal))
从运算符导入itemgetter
circuitAssign[circuit]=已排序(circuitAssign[circuit],key=itemgetter('value'))
jugglerPriority[jugglerRemoved['jugglerName']]。追加(jugglerRemoved['jugglerParams']))
打破
其他:
持续
返回电路分配
因为我同时阅读和修改字典,所以我想重置它 更改正在迭代的集合总是很危险的 以前,我使用了索引,并从头到尾遍历了集合-任何添加的删除操作都不会影响我尚未管理的项。不确定在Python中执行此操作的最佳方式