0

I'm relatively new to Python, and this issue has me absolutely perplexed.

I wrote a function to return the index of the highest integer in a list of 5 integers.

Here is the function:

'''

def highestOfFive(list1: list[int]):
    modifiable_list = list1
    if modifiable_list[0] > modifiable_list[1] and modifiable_list[0] > modifiable_list[2] and modifiable_list[0] > modifiable_list[3] and modifiable_list[0] > modifiable_list[4]:
        return 0
    else:
        modifiable_list.insert(0, modifiable_list[4])
        del modifiable_list[5]

    if modifiable_list[0] > modifiable_list[1] and modifiable_list[0] > modifiable_list[2] and modifiable_list[0] > modifiable_list[3] and modifiable_list[0] > modifiable_list[4]:
        return 4
    else:
        modifiable_list.insert(0, modifiable_list[4])
        del modifiable_list[5]

    if modifiable_list[0] > modifiable_list[1] and modifiable_list[0] > modifiable_list[2] and modifiable_list[0] > modifiable_list[3] and modifiable_list[0] > modifiable_list[4]:
        return 3
    else:
        modifiable_list.insert(0, modifiable_list[4])
        del modifiable_list[5]

    if modifiable_list[0] > modifiable_list[1] and modifiable_list[0] > modifiable_list[2] and modifiable_list[0] > modifiable_list[3] and modifiable_list[0] > modifiable_list[4]:
        return 2
    else:
        modifiable_list.insert(0, modifiable_list[4])
        del modifiable_list[5]

    return 1

'''

The issue is whenever I use the function on a list, it changes the list:

'''

exampleList = [1, 2, 3, 4, 5]

print(exampleList)
# prints [1, 2, 3, 4, 5]

highestOfFive(exampleList)

print(exampleList)
# prints [5, 1, 2, 3, 4]

'''

It moves the highest number to the beginning of the list. Why? Maybe I'm missing something obvious here.

ray_drost
  • 31
  • 4

0 Answers0