Python 使用列表理解访问最后一个列表元素
问题-创建具有可变大小和访问最后一个元素的列表 我把我的问题分为两个函数。 第一个函数-我已经使用正常的追加方法和列表理解完成了第一个函数; 第二个函数-访问最后一个元素Python 使用列表理解访问最后一个列表元素,python,list-comprehension,Python,List Comprehension,问题-创建具有可变大小和访问最后一个元素的列表 我把我的问题分为两个函数。 第一个函数-我已经使用正常的追加方法和列表理解完成了第一个函数; 第二个函数-访问最后一个元素 #first code v = [] def creat_v(): size = int(input('size -')) for i in range(0,size): number = int(input('Number - ')) v.append(number) return v pri
#first code
v = []
def creat_v():
size = int(input('size -'))
for i in range(0,size):
number = int(input('Number - '))
v.append(number)
return v
print(creat_v())
def last_element():
return v[len(v)-1]
print(last_element())
#second code
v = []
def creat_v():
v = [int(input('Number - ')) for i in range(0,int(input('Size - ')))]
return v
print(creat_v())
def last_element():
return v[len(v)-1]
print(last_element())
通过执行第二个代码“列表理解”,它打印列表,但返回与第二个函数有关的错误:
Traceback (most recent call last):
File "main.py", line 11, in <module>
print(last_element())
File "main.py", line 10, in last_element
return v[len(v)-1]
IndexError: list index out of range
def creat_v():
v = [int(input('Number - ')) for i in range(0,int(input('Size - ')))]
return v
您的代码返回错误,因为在函数中:
Traceback (most recent call last):
File "main.py", line 11, in <module>
print(last_element())
File "main.py", line 10, in last_element
return v[len(v)-1]
IndexError: list index out of range
def creat_v():
v = [int(input('Number - ')) for i in range(0,int(input('Size - ')))]
return v
您正在分配局部变量v,而不是更改全局变量v
您可以将全局v添加到此函数中,或者像这样调用此函数:v=create\u v
完整代码:
v = []
def creat_v():
v = [int(input('Number - ')) for i in range(0,int(input('Size - ')))]
return v
v = creat_v()
print(v)
def last_element():
return v[len(v)-1]
print(last_element())
您的代码返回错误,因为在函数中:
Traceback (most recent call last):
File "main.py", line 11, in <module>
print(last_element())
File "main.py", line 10, in last_element
return v[len(v)-1]
IndexError: list index out of range
def creat_v():
v = [int(input('Number - ')) for i in range(0,int(input('Size - ')))]
return v
您正在分配局部变量v,而不是更改全局变量v
您可以将全局v添加到此函数中,或者像这样调用此函数:v=create\u v
完整代码:
v = []
def creat_v():
v = [int(input('Number - ')) for i in range(0,int(input('Size - ')))]
return v
v = creat_v()
print(v)
def last_element():
return v[len(v)-1]
print(last_element())