问题与if语句和for循环有关它应该找到列表中最大的数字,并找出它有多少个
L = [] n = 6 a = [5, 1, 4, 88, 6, 7, 4, 88, 6, 6, 88, 5, 3, 45, 57] b = max(a) for i in a: if a[i] == b: L.append(a[i]) print(L)
错误显示“列表索引超出范围”
kkbh8khc1#
当你迭代一个数组时,你得到的是值,而不是索引。
for element in a: if element == b == True: L.append(element)
另外,记住Python中的大写名称通常是为CONSTANTS和ClassNames保留的,所以你使用L作为数组变量并不是很Python化,考虑一个更具描述性的名称,比如result_list或largest_elements。
CONSTANTS
ClassNames
L
result_list
largest_elements
v8wbuo2f2#
正如注解中提到的,i不是索引,它是a中的元素,因为您正在遍历a。如果需要索引,请使用以下命令:
i
a
for i in range(len(a)):
或者您可以执行以下操作:
for i in a: if i == b: L.append(i)
2条答案
按热度按时间kkbh8khc1#
当你迭代一个数组时,你得到的是值,而不是索引。
另外,记住Python中的大写名称通常是为
CONSTANTS
和ClassNames
保留的,所以你使用L
作为数组变量并不是很Python化,考虑一个更具描述性的名称,比如result_list
或largest_elements
。v8wbuo2f2#
正如注解中提到的,
i
不是索引,它是a
中的元素,因为您正在遍历a
。如果需要索引,请使用以下命令:
或者您可以执行以下操作: