Nyckelord: array, lista

Ta bort upprepningar av ett specifikt element
Skriv en funktion removeInputNum som tar en array (beforeField) och ett heltal (inputNum) och returnerar en ny array (newField) där alla element som hade samma värde som inputNum är borttagna. Använd dig av den givna koden nedan.
inputNum = 3
beforeField = [2, 3, 2, 1, 3, 5, 7, 8, 7, 8, 2, 6, 3]
if __name__ == "__main__":
# Lägg till ditt funktionsanrop här.
pass
Ledtråd
Lägg till ett nytt värde i en lista med append. Exempelvis:
arr = []
arr.append(2)
print(arr)
Utskriften blir [2].
Lösning
def removeInputNum(beforeField, inputNumber):
# Skapa en ny lista
newField = []
# Loopa igenom alla element i listan
for element in beforeField:
# Om talet inte är samma som inputNumber så lägger vi till elementet i nya listan
if element != inputNumber:
newField.append(element)
return newField
if __name__ == '__main__':
# Programmet börjar här
# Input number och givna Array
inputNum = 3
preArray = [2, 3, 2, 1, 3, 5, 7, 8, 7, 8, 2, 6, 3]
# Anropa funktionen
newArray = removeInputNum(preArray, inputNum)
print(preArray)
print(newArray)
Vi anropar funktionen removeInputNum och skickar in listan preArray och variabeln inputNum. Inne i funktionen kallas dessa variabler för beforeField samt inputNumber. Notera alltså att namnen på funktionsparametrarna inte behöver heta samma som de värden vi skickar in i funktionen.
Vi loopar sedan igenom alla element i listan och undersöker om elementet matchar med den valda siffran. Om den inte matchar så lägger vi till elementet med append().