为什么我的函数在Python中跳过代码行?

时间:2017-07-01 17:15:53

标签: python function loops printing

在这个函数内部,在循环'for j,i枚举(数据)'我有一个循环'用于反向g(范围(j)):'  并且这个循环附加到listx。

为了测试我得到了一个有意义的数据,我把print(listx)

现在正好在附加循环下面我有print(listx),但它不起作用。它根本不打印。我也尝试打印(“你好”)那里删除任何变量,但它也不打印“你好”。

造成这种情况的原因是什么?

def filter_json(input):
    global d
    global t

    # open input file & load json data
    content = open(input, "r").read()
    data = np.array([json.loads(str(i)) for i in content.strip().split('\n') 
if i.strip()])

    # first extract D & T from the first line of data
    d = int(data[0]['D'])
    t = int(data[0]['T'])
    listx = []

    for j, i in enumerate(data):

        try:

            if i['event_type'] == 'purchase':

                listx = []
                l = Graph()
                l.network = set()
                l.IDDFS(i['id'], d)

                network_list = l.network


                for g in reversed(range(j)):
                    # if data[g]['id'] in network_list
                    listx.append(data[g]['amount'])

                print(listx)
                print('Hello')


            elif i['event_type'] == 'befriend':
            addEdge(i['id1'], i['id2'])

            elif i['event_type'] == 'unfriend':
            removeEdge(i['id1'], i['id2'])


        except KeyError:
            continue

1 个答案:

答案 0 :(得分:0)

这意味着您在代码中获得KeyError,然后在except中忽略该代码。