Python - 配列演習
こんにちは、志望プログラマーの皆さん!Pythonの配列の世界に魅力的な旅にあなたを案内することができて嬉しいです。コンピュータサイエンスの教師として、多くの経験を持つ私は、これらの概念を理解すると無数の学生が光を放っているのを見てきました。では、配列を楽しく、簡単に理解できるように進んでいきましょう!
なんですか配列?
実際の例に飛び込む前に、基本を学びましょう。Pythonでは、他の言語にあるようなビルトインの配列データ構造はありません。代わりに、非常に多様で強力なリストを使用します。今日の目的のために、私たちはリストを「配列」として使用します。
配列(またはPythonのリスト)は、複数のアイテムを保持できるコンテナと似ています。データを運ぶ複数の車両がある列車を想像してみてください。それはプログラミングの中での配列の基本的な概念です!
例1:配列の作成とアクセス
簡単な例から始めましょう:
fruits = ["apple", "banana", "cherry", "date"]
print(fruits[0]) # 出力:apple
print(fruits[2]) # 出力:cherry
この例では、fruits
という配列(リスト)を作成しました。配列内の各アイテムにはインデックスがあり、0から始まります。したがって、fruits[0]
は最初のアイテム「apple」を返し、fruits[2]
は第三のアイテム「cherry」を返します。
それは学校のロッカーの並ぶ一行のように考えてみてください。始点(インデックス0)に立っている場合、第三のロッカーは二歩離れています(インデックス2)。
例2:配列の修正
配列は変更可能であり、作成後に変更することができます。どのようにするかを見てみましょう:
numbers = [1, 2, 3, 4, 5]
numbers[2] = 10
print(numbers) # 出力:[1, 2, 10, 4, 5]
numbers.append(6)
print(numbers) # 出力:[1, 2, 10, 4, 5, 6]
numbers.remove(2)
print(numbers) # 出力:[1, 10, 4, 5, 6]
ここでは、3つの操作を行いました:
- インデックス2の値を3から10に変更しました。
-
append()
を使用して配列の末尾に新しい数字(6)を追加しました。 -
remove()
を使用して配列から数字2を削除しました。
それはプレイリストを編集するのに似ています。曲を変更(修正)、新しい曲を末尾に追加(append)、または好きでない曲を削除(remove)することができます。
例3:配列をループで処理する
配列の最も強力な機能の一つは、すべてのアイテムを素早く処理する能力です。これをループを使用して行います:
colors = ["red", "green", "blue", "yellow"]
# forループを使用
for color in colors:
print(f"I love {color}!")
# whileループを使用
i = 0
while i < len(colors):
print(f"Color at index {i} is {colors[i]}")
i += 1
最初のループでは、「I love」と各色を言っています。それは自分のウォレットを一つずつ称えておしゃべりするようなものです。
二つ目のループは異なるアプローチを使用しています。手動でインデックス(i
)を増やし、配列の終わりに達するまで停止します。それは美術館の中でアイテムを一つずつ通り過ぎる際にステップを数えるようなものです。
練習プログラム
基本を学んだので、今日学んだことを強化するためにいくつかの練習を試してみましょう。覚えるということは、実践が全てです!
練習1:配列要素の合計
配列内のすべての要素の合計を計算するプログラムを書いてください。
def sum_array(arr):
total = 0
for num in arr:
total += num
return total
numbers = [1, 2, 3, 4, 5]
print(f"The sum is: {sum_array(numbers)}") # 出力:The sum is: 15
この関数は配列内の各数字を順に加算していきます。それはお小遣いの入った豚の貯金箱の中のお金を全部数えるようなものです!
練習2:最大要素の検索
配列内の最大要素を見つける関数を作成してください。
def find_largest(arr):
if len(arr) == 0:
return None
largest = arr[0]
for num in arr:
if num > largest:
largest = num
return largest
numbers = [3, 7, 2, 8, 1, 9, 5, 4]
print(f"The largest number is: {find_largest(numbers)}") # 出力:The largest number is: 9
この関数は最初の数字が最大であると仮定し、各数字を現在の最大値と比較していきます。それは各数字がチャンピオンシップで競うのに似ています!
練習3:配列の反転
配列内の要素の順序を逆にする関数を書いてください。
def reverse_array(arr):
return arr[::-1]
original = [1, 2, 3, 4, 5]
reversed_arr = reverse_array(original)
print(f"Original array: {original}")
print(f"Reversed array: {reversed_arr}")
これはPythonのスライスを-1のステップで使用して配列を反転させます。それは写真アルバムを後ろから前にめくるようなものです!
以下は、今日使用した配列メソッドをまとめた表です:
メソッド | 説明 | 例 |
---|---|---|
append() |
リストの末尾に要素を追加 | fruits.append("grape") |
remove() |
指定された要素の最初の出現を削除 | fruits.remove("banana") |
len() |
リスト内の要素の数を返す | len(fruits) |
インデックス付け | 特定の位置の要素にアクセスまたは変更 |
fruits[0] または fruits[1] = "kiwi"
|
スライシング | リストの一部を返す |
fruits[1:3] または fruits[::-1] で反転 |
覚えておくべきことは、配列(Pythonのリスト)はプログラミングの基本であり、数え切れないほどのアプリケーションで使用されます。それはデータ構造のスイスアーミーナイフであり、多様で、役立ち、コーディングツールキットに欠かせないものです。
これらの練習を通じて、配列に対するあなたの親しみが増します。最初はすぐ理解しませんが、苛立ちませんよ。コードを学ぶのは旅であり、前進するたびに進歩です。实验し続け、質問し続け、そして最も重要なのは、コーディングを続けてください!
コーディングを楽しんでください、未来のプログラマーの皆さん!あなたの配列が常にソートされ、ループが望むままに限りなく続くことを願っています!
Credits: Image by storyset