我试图解决一个我以前已经解决过的问题,但现在使用列表理解。问题很简单,我有一个列表,我想用列表理解来反转它
定义第一个列表很简单,但是当我附加反向列表时,它给了我标题中的错误。我知道我们不应该在清单上附加理解,但我不知道该放什么。
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
是一个局部变量;不能在它存在之前追加它。
不清楚为什么需要全局变量p
和v
(注意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/