我正在将变量设置为列表的第i个元素,但是即使在第一次迭代中,我也超出了范围错误。
# code the max() function
def maxinlist(yourlist):
first = 0
second = 0
duplicatelist = yourlist
for i in range(0, len(yourlist) - 1):
first = yourlist[i]
for j in range(len(yourlist) - 1, 0, -1):
second = yourlist[j]
if second > first:
duplicatelist.pop(i)
elif first > second:
duplicatelist.pop(j)
print(duplicatelist[0])
mylist = [1, 4, 8, 2, 5, 100, 44, 2, 5]
maxinlist(mylist)
答案 0 :(得分:0)
请确保在更改duplicatelist
更改以下内容
duplicatelist = yourlist
到
duplicatelist = yourlist[:]
答案 1 :(得分:0)
在python中,变量名是指针。它们不能反映C或C ++中的实际内存空间。
options: {
// Assume x axis is the realtime scale
pan: {
enabled: true, // Enable panning
mode: 'x', // Allow panning in the x direction
rangeMin: {
x: null // Min value of the delay option
},
rangeMax: {
x: null // Max value of the delay option
}
},
zoom: {
enabled: true, // Enable zooming
mode: 'x', // Allow zooming in the x direction
rangeMin: {
x: null // Min value of the duration option
},
rangeMax: {
x: null // Max value of the duration option
}
}
}
这里两个指针指向相同的存储空间。更改一个变量也会影响另一个变量。
duplicateList=yourList
这还将为重复列表创建一个新的内存空间。