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 impactem 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 método copy(). Sem o uso de copy(), modificar a lista dentro da função também alteraria a lista original fruits.
Utilize a 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 de for price in prices:.
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.
- Definir uma função
apply_discount(prices)que recebe uma lista de preços. - Dentro da função, fazer uma cópia de
pricese atribuí-la aprices_copy. - Utilizar 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, aplicar um desconto de 10%. - Retornar a lista
prices_copyatualizada.
Requisitos de Saída
- A função deve retornar a nova lista com os preços atualizados com desconto.
- Imprimir o resultado utilizando:
Updated product prices: <$updated_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 1.89
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 impactem 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 método copy(). Sem o uso de copy(), modificar a lista dentro da função também alteraria a lista original fruits.
Utilize a 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 de for price in prices:.
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.
- Definir uma função
apply_discount(prices)que recebe uma lista de preços. - Dentro da função, fazer uma cópia de
pricese atribuí-la aprices_copy. - Utilizar 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, aplicar um desconto de 10%. - Retornar a lista
prices_copyatualizada.
Requisitos de Saída
- A função deve retornar a nova lista com os preços atualizados com desconto.
- Imprimir o resultado utilizando:
Updated product prices: <$updated_prices>
Solução
Obrigado pelo seu feedback!
single