Python 如何迭代字典,为其余元素创建新的for循环?
我正试着用现有的那本词典编一本新词典Python 如何迭代字典,为其余元素创建新的for循环?,python,loops,for-loop,dictionary,Python,Loops,For Loop,Dictionary,我正试着用现有的那本词典编一本新词典 `dict1 = {'A':{}, 'B':{}, 'C':{}, 'D':{}, 'E':{}} for key, val in dict1.iteritems(): mytest = key newConditionFlag = getSummary(mytest) if newConditionFlag == 1: make dict2` 其中getSummary函数如下所示: `def getSummary
`dict1 = {'A':{}, 'B':{}, 'C':{}, 'D':{}, 'E':{}}
for key, val in dict1.iteritems():
mytest = key
newConditionFlag = getSummary(mytest)
if newConditionFlag == 1:
make dict2`
其中getSummary函数如下所示:
`def getSummary(mytest):
newConditionFlag==0
bVal = mytest.CanClose()
if bVal == True:
pass
else:
newConditionFlag=1
return newConditionFlag`
如果B的newConditionFlag==1,那么我的dict2应该是
dict2='C':{},'D':{},'E':{}
。
同样,如果C的newConditionFlag==1
dict2='D':{},'E':{}
。
我该怎么做
我知道,对于一个简单的条件,如果我们想要访问剩余值,我们所做的是
`l = [1,2,3,4,5]
for i,j in zip(l, l[2:]):
print j`
但在使用字典的情况下应该怎么做呢?如果我们用它给出的
TypeError:unhabable type
的相同方法进行尝试,那么唯一有意义的方法就是首先将字典转换为列表。对列表进行处理,然后转换回字典
l = sorted(dict1.items())
# do your thing
dict1 = dict(l)
“从那一点”的概念毫无意义——字典是无序的。正如@jornsharpe dictionary提到的,字典是无序的,你可能想用:但很难说它对你所做的有什么好处do@jonrsharpe我已经编辑了代码,希望有帮助