Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ 関数内のリストの挙動 | 関数
Python入門
セクション 6.  4
single

single

book関数内のリストの挙動

メニューを表示するにはスワイプしてください

関数内でのリストの操作について説明します。数値を扱う場合と似ていますが、いくつか重要な点があります。

リストはミュータブル(可変)であり、リストを関数に直接渡すと、関数内で行った変更が元のリストにも影響します。

これを防ぐには、ミュータブルなデータ型に対して copy() メソッドを使用します。これにより、リストの浅いコピーが作成され、元のリストではなく複製を変更できます。これによって、関数内での変更が元のリストに影響しないようにできます。

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

この例では、fruits を使用したため、元の copy() リストは変更されていません。copy() を使わずに関数内でリストを変更すると、元の fruits リストも変更されてしまいます。

タスク

スワイプしてコーディングを開始

元のリストを変更せずに、$2.00 を超える商品価格に10%割引を適用する関数の作成。

  • apply_discount(prices) という関数を定義し、価格のリストを引数として受け取る。
  • 関数内で prices のコピーを作成し、prices_copy に代入する。
  • インデックス付きの for ループ(range(len(prices_copy)))を使用して、コピーしたリストを走査する。
  • 価格が 2.00 より大きい場合、10%の割引を適用する。
  • 更新された prices_copy リストを返す。

出力要件

  • 関数は割引後の新しいリストを返すこと。
  • 結果の出力例:
    Updated product prices: <$updated_prices>

注意

インデックスベースのイテレーションを使用してリストを正しく変更すること:for index in range(len(prices)): は要素を直接変更できるが、for price in prices: ではできない。

解答

Switch to desktop実践的な練習のためにデスクトップに切り替える下記のオプションのいずれかを利用して、現在の場所から続行する
すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 6.  4
single

single

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

some-alt