创建一个空列表,在函数中添加指向它的列表,但是在尝试调用它时出错

时间:2019-07-16 20:03:29

标签: python

我正在尝试使用在上一个函数中创建的列表。该列表是一组时间(每秒钟是一个点),我需要每1/20秒添加点。时间列表是在上一个函数中创建的,但是当我尝试将列表回调到np.linspace时,我收到一个typeerror代码,表示未定义全局名称list1。

我已经尝试将列表重命名为不同的名称,例如time = [],但这无济于事。我还在函数中和函数外部定义了空列表。

def time_finder():
    v = 0
    u = 0
    list1 = []
    while v < 286:
        v = v + 1
        u = u + 1
        z = mce_data[0]
        y = [a for b in z for a in b]
        x = (y)[u]
        w = np.array(x)[0]
        x.tolist()
        list1.append(w)
    return (list1)
    #print(list1)
time_finder()

#adds 1/20th second marks
def twentieth_second():
    u = 0
    while u < 286:
        v = 1
        timea = list1[u]
        timeb = list1[v]
        np.linspace(timea, timeb, parts+19)
        u = u + 1
        v = v + 1
    print list1
twentieth_second()

我得到的错误是NameError:全局名称'list1'未定义。根据我进行的故障排除,此错误会更改。有时我会收到回调错误,而其他时候我会得到索引超出范围错误。我希望得到一个包含1/20秒间隔的新列表。

1 个答案:

答案 0 :(得分:0)

您需要将第一个函数的结果分配给变量:

list1 = time_finder()

甚至可以将该行移至twentieth_second

您在time_finder中返回的信息也是错误的。删除()附近的list1

#return (list1)
return list1