我试图解决一个我以前已经解决过的问题,但现在使用列表理解。问题很简单,我有一个列表,我想用列表理解来反转它
定义第一个列表很简单,但是当我附加反向列表时,它给了我标题中的错误。我知道我们不应该在清单上附加理解,但我不知道该放什么。

v=[]
p=[]

def listt():
    v=[int(input('Digit element\n'))for j in range(0,int(input('Digit number of elements')))]
    return v
print(listt())

def invert_list(v):
    p=[p.append(v[j]) for j in range(len(v),-1,-1)]
    return p
print(invert_list(v))

最佳答案

p是一个局部变量;不能在它存在之前追加它。
不清楚为什么需要全局变量pv(注意listt不会修改全局变量v)。

def listt():
     return [int(input('Digit element\n'))for j in range(0,int(input('Digit number of elements')))]

def invert_list(v):
    return [v[j] for j in range(len(v)-1,-1,-1)]

x = listt()
print(x)
print(invert_list(x))

关于python - 封闭范围内赋值之前引用的变量p,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56005770/

10-12 15:57