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
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Introdução ao Python

bookComportamento 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.

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

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 6. Capítulo 4
single

single

Pergunte à IA

expand

Pergunte à IA

ChatGPT

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

close

bookComportamento 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.

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
single

single

some-alt