Comportamento de Listas em Funções
Vamos explorar o trabalho com listas dentro de funções. Embora seja semelhante ao trabalho com números, existem alguns detalhes importantes a serem considerados.
Listas são mutáveis, o que significa que quaisquer alterações feitas em uma lista dentro de uma função também afetarão a lista original fora da função se ela for passada diretamente.
Para evitar isso, pode-se utilizar o método copy() com qualquer tipo de dado mutável. Dessa forma, é criada uma cópia rasa da lista, permitindo modificar um duplicado em vez do original. Isso garante que as alterações feitas dentro da função não afetem a lista original.
1234567891011121314def add_strawberry(original_list): list_copy = original_list.copy() # Create a copy of the original list list_copy.append("Strawberry") # Modify the copied list return list_copy # Original list fruits = ["Apple", "Banana", "Cherry"] # Call the function new_fruits = add_strawberry(fruits) # Check the results print("Original list:", fruits) # ['Apple', 'Banana', 'Cherry'] print("Modified list:", new_fruits) # ['Apple', 'Banana', 'Cherry', 'Strawberry']
Neste exemplo, a lista original fruits permanece inalterada porque foi utilizado o copy(). Sem o copy(), modificar a lista dentro da função também alteraria a lista original fruits.
Swipe to start coding
Crie uma função para aplicar um desconto de 10% aos preços dos produtos acima de $2.00, sem alterar a lista original.
- Defina uma função
apply_discount(prices)que recebe uma lista de preços. - Dentro da função, faça uma cópia de
pricese atribua aprices_copy. - Utilize um laço
forcom iteração por índice (range(len(prices_copy))) para percorrer a lista copiada. - Se um preço for maior que
2.00, aplique um desconto de 10%. - Retorne a lista
prices_copyatualizada.
Requisitos de Saída
- A função deve retornar a nova lista com os preços descontados.
- Imprima o resultado usando:
Updated product prices: <$updated_prices>
Observação
Utilize iteração baseada em índice para garantir que a lista seja modificada corretamente:
for index in range(len(prices)):modifica os elementos diretamente, ao contrário defor price in prices:.
Solução
Obrigado pelo seu feedback!
single
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Incrível!
Completion taxa melhorada para 2.08
Comportamento de Listas em Funções
Deslize para mostrar o menu
Vamos explorar o trabalho com listas dentro de funções. Embora seja semelhante ao trabalho com números, existem alguns detalhes importantes a serem considerados.
Listas são mutáveis, o que significa que quaisquer alterações feitas em uma lista dentro de uma função também afetarão a lista original fora da função se ela for passada diretamente.
Para evitar isso, pode-se utilizar o método copy() com qualquer tipo de dado mutável. Dessa forma, é criada uma cópia rasa da lista, permitindo modificar um duplicado em vez do original. Isso garante que as alterações feitas dentro da função não afetem a lista original.
1234567891011121314def add_strawberry(original_list): list_copy = original_list.copy() # Create a copy of the original list list_copy.append("Strawberry") # Modify the copied list return list_copy # Original list fruits = ["Apple", "Banana", "Cherry"] # Call the function new_fruits = add_strawberry(fruits) # Check the results print("Original list:", fruits) # ['Apple', 'Banana', 'Cherry'] print("Modified list:", new_fruits) # ['Apple', 'Banana', 'Cherry', 'Strawberry']
Neste exemplo, a lista original fruits permanece inalterada porque foi utilizado o copy(). Sem o copy(), modificar a lista dentro da função também alteraria a lista original fruits.
Swipe to start coding
Crie uma função para aplicar um desconto de 10% aos preços dos produtos acima de $2.00, sem alterar a lista original.
- Defina uma função
apply_discount(prices)que recebe uma lista de preços. - Dentro da função, faça uma cópia de
pricese atribua aprices_copy. - Utilize um laço
forcom iteração por índice (range(len(prices_copy))) para percorrer a lista copiada. - Se um preço for maior que
2.00, aplique um desconto de 10%. - Retorne a lista
prices_copyatualizada.
Requisitos de Saída
- A função deve retornar a nova lista com os preços descontados.
- Imprima o resultado usando:
Updated product prices: <$updated_prices>
Observação
Utilize iteração baseada em índice para garantir que a lista seja modificada corretamente:
for index in range(len(prices)):modifica os elementos diretamente, ao contrário defor price in prices:.
Solução
Obrigado pelo seu feedback!
single