Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Comportamento de Listas em Funções | Funções
Introdução ao Python

Deslize para mostrar o menu

book
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, você pode usar o método copy() com qualquer tipo de dado mutável. Ao fazer isso, você cria uma cópia superficial 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.

1234567891011121314
def 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']
copy

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.

Tarefa

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 prices e atribua a prices_copy.
  • Utilize um laço for com 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_copy atualizada.

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 de for price in prices:.

Solução

Switch to desktopMude para o desktop para praticar no mundo realContinue de onde você está usando uma das opções abaixo
Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 6. Capítulo 4
Sentimos muito que algo saiu errado. O que aconteceu?

Pergunte à IA

expand
ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

book
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, você pode usar o método copy() com qualquer tipo de dado mutável. Ao fazer isso, você cria uma cópia superficial 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.

1234567891011121314
def 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']
copy

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.

Tarefa

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 prices e atribua a prices_copy.
  • Utilize um laço for com 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_copy atualizada.

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 de for price in prices:.

Solução

Switch to desktopMude para o desktop para praticar no mundo realContinue de onde você está usando uma das opções abaixo
Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 6. Capítulo 4
Switch to desktopMude para o desktop para praticar no mundo realContinue de onde você está usando uma das opções abaixo
Sentimos muito que algo saiu errado. O que aconteceu?
some-alt