嵌套for循环,删除循环内的临时字典

时间:2013-10-20 18:54:18

标签: python numpy

bb = {}
ss = {}


for i in range(5):      # i are the different days
    for row in ps:      # ps = different dataframes 
        a=row[i:i+1]
        DE = a['Daily_Error'][0]
        Date = a.index[0]
        Identifier = (a.columns[0],a.columns[1])


        if DE > 1 :
            if format(Identifier) in ss:
                ss[format(Identifier)].append([np.log(Price1)])
            else:
                ss[format(Identifier)]=[np.log(Price1)]

        print 'YES', format(Date)


        if xy < -0.006:
            print 'STOP'
            ss.clear()
            bb.clear()
            bb = {}
            ss = {}
            break

我想在xy&lt; -0.006时打破内部循环并继续外部循环[i + 1]。另外,我想删除字典bb,ss并在下一个循环中填充它们。但是,这不起作用。如何在不重写整个代码或使用其他数据结构的情况下规避问题?

仅供参考:当我使用时,休息时间有效:

    if xy < -0.006:
        print 'STOP'
        break

考虑到我得到的前4天:

YES 2005-09-19 00:00:00 0
YES 2005-09-19 00:00:00 0
YES 2005-09-19 00:00:00 0
YES 2005-09-20 00:00:00 
STOP
YES 2005-09-21 00:00:00 0
YES 2005-09-19 00:00:00 0
YES 2005-09-19 00:00:00 0
YES 2005-09-22 00:00:00 
YES 2005-09-20 00:00:00 
STOP
YES 2005-09-23 00:00:00 0
YES 2005-09-19 00:00:00 0
YES 2005-09-19 00:00:00 0

为什么迭代开始于 2005-09-19再次?

EDIT2:缩小了问题!问题确实是代码块:

            if DE > 1 :

但是,如果我打破内部循环,为什么代码从迭代零开始?它只会在我删除bb和ss后发生......我不明白,抱歉!

0 个答案:

没有答案