「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Python のタプルとリスト PCEP 認定準備のヒント

Python のタプルとリスト PCEP 認定準備のヒント

2024 年 11 月 8 日に公開
ブラウズ:683

Python Tuples and Lists Tips for PCEP Certification Preparation

Python 認定エントリーレベル プログラマー (PCEP) を目指すには、リストやタプルなど、Python の基本的なデータ構造を完全に理解する必要があります。

リストとタプルはどちらも Python でオブジェクトを保存できますが、これら 2 つのデータ構造には使用法と構文に大きな違いがあります。 PCEP 認定試験に合格するために、これらのデータ構造を習得するための重要なヒントをいくつか紹介します。

1.リストとタプルの違いを理解する
Python のリストは変更可能です。つまり、作成後に変更できます。一方、タプルは不変です。つまり、一度作成すると変更することはできません。これは、タプルのメモリ要件が低く、特定の状況ではリストより高速になる可能性がありますが、柔軟性が低いことを意味します。

リストの例:

# creating a list of numbers
numbers = [1, 2, 3, 4, 5]
# modifying the list by changing the fourth element
numbers[3] = 10
print(numbers)
# output: [1, 2, 3, 10, 5]

タプルの例:

# creating a tuple of colors
colors = ("red", "green", "blue")
# trying to modify the tuple by changing the second element
colors[1] = "yellow" 
# this will result in an error as tuples are immutable

2.リストとタプルの構文を理解する
リストは角括弧 [ ] で示され、タプルは括弧 ( ) で囲まれます。リストまたはタプルの作成は、適切な構文を使用して変数に値を宣言するのと同じくらい簡単です。タプルは初期化後に変更できないため、正しい構文を使用することが重要であることに注意してください。

リストの例:

# creating a list of fruits
fruits = ["apple", "banana", "orange"]

タプルの例:

# creating a tuple of colors
colors = ("red", "green", "blue")

3.アイテムの追加と削除の方法を知る
リストには、append()、extend()、remove() など、項目を追加および削除するためのさまざまな組み込みメソッドがあります。一方、タプルには組み込みメソッドが少なく、項目を追加または削除するメソッドがありません。したがって、タプルを変更する必要がある場合は、既存のタプルを変更するのではなく、新しいタプルを作成する必要があります。

リストの例:

# adding a new fruit to the end of the list
fruits.append("mango")
print(fruits)
# output: ["apple", "banana", "orange", "mango"]

# removing a fruit from the list
fruits.remove("banana")
print(fruits)
# output: ["apple", "orange", "mango"]

タプルの例:

# trying to add a fruit to the end of the tuple
fruits.append("mango")
# this will result in an error as tuples are immutable

# trying to remove a fruit from the tuple
fruits.remove("banana")
# this will also result in an error

4.パフォーマンスの違いを理解する
タプルは不変であるため、一般にリストよりも高速です。項目の固定コレクションを保存する必要があるシナリオに注意し、パフォーマンスを向上させるためにリストの代わりにタプルを使用することを検討してください。

Python の timeit モジュールを使用して、リストとタプルのパフォーマンスの違いをテストできます。以下は、リストと 10 個の要素を持つタプルの反復処理にかかる時間を比較する例です:

# importing the timeit module
import timeit

# creating a list and a tuple with 10 elements
numbers_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
numbers_tuple = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10)

# testing the time it takes to iterate through the list
list_time = timeit.timeit('for num in numbers_list: pass', globals=globals(), number=100000)
print("Time taken for list: ", list_time)
# output: Time taken for list: 0.01176179499915356 seconds

# testing the time it takes to iterate through the tuple
tuple_time = timeit.timeit('for num in numbers_tuple: pass', globals=globals(), number=100000)
print("Time taken for tuple: ", tuple_time)
# output: Time taken for tuple: 0.006707087000323646 seconds

ご覧のとおり、タプルの反復処理はリストの反復処理よりもわずかに高速です。

5.リストとタプルの適切な使用例を理解する
リストは簡単に変更できるため、時間の経過とともに変化する可能性のある項目のコレクションを保存するのに適しています。対照的に、タプルは、変更しない必要がある項目の定数コレクションに最適です。たとえば、リストは変更される可能性のある食料品リストには適していますが、曜日が変わらないため、曜日を保存するにはタプルの方が適しています。

リストの例:

# creating a list of groceries
grocery_list = ["milk", "bread", "eggs", "chicken"]
# adding a new item to the grocery list
grocery_list.append("bananas")

タプルの例:

# creating a tuple of weekdays
weekdays = ("Monday", "Tuesday", "Wednesday", "Thursday", "Friday")
# trying to add a new day to the tuple
weekdays.append("Saturday")
# this will result in an error as tuples cannot be modified after creation

6.メモリ使用量に注意する
リストはその柔軟性によりタプルよりも多くのメモリを消費しますが、タプルは不変であるため占有するスペースが少なくなります。これは、大規模なデータセットやメモリを大量に使用するアプリケーションを扱う場合に考慮することが特に重要です。

Python の sys モジュールを使用して変数のメモリ使用量を確認できます。以下は、リストと 100 万個の要素を持つタプルのメモリ使用量を比較する例です:

# importing the sys module
import sys

# creating a list with one million elements
numbers_list = list(range(1000000))
# checking the memory usage of the list
list_memory = sys.getsizeof(numbers_list)
print("Memory usage for list: ", list_memory)
# output: Memory usage for list:  9000112 bytes

# creating a tuple with one million elements
numbers_tuple = tuple(range(1000000))
# checking the memory usage of the tuple
tuple_memory = sys.getsizeof(numbers_tuple)
print("Memory usage for tuple: ", tuple_memory)
# output: Memory usage for tuple: 4000072 bytes

リストに比べてタプルはメモリ消費量が少ないことがわかります。

7.リストとタプルを反復処理する方法を知る
リストとタプルはどちらもループを使用して反復できますが、不変であるため、タプルの方がわずかに高速である可能性があります。また、リストには任意のタイプのデータを格納できますが、タプルにはハッシュ可能な要素のみを含めることができることに注意してください。これは、タプルは辞書キーとして使用できるが、リストは使用できないことを意味します。

リストの例:

# creating a list of numbers
numbers = [1, 2, 3, 4, 5]
# iterating through the list and checking if a number is present
for num in numbers:
    if num == 3:
        print("Number 3 is present in the list")
# output: Number 3 is present in the list

タプルの例:

# creating a tuple of colors
colors = ("red", "green", "blue")
# iterating through the tuple and checking if a color is present
for color in colors:
    if color == "yellow":
        print("Yellow is one of the colors in the tuple")
# this will not print anything as yellow is not present in the tuple

8.組み込み関数と操作に慣れる
リストにはタプルに比べて多くの組み込みメソッドがありますが、両方のデータ構造には、PCEP 試験に慣れておく必要があるさまざまな組み込み関数と演算子があります。これらには、len()、max()、min() などの関数のほか、項目がリストまたはタプル内にあるかどうかをチェックする in や not in などの演算子が含まれます。

リストの例:

# creating a list of even numbers
numbers = [2, 4, 6, 8, 10]
# using the len() function to get the length of the list
print("Length of the list: ", len(numbers))
# output: Length of the list: 5
# using the in and not in operators to check if a number is present in the list
print(12 in numbers)
# output: False
print(5 not in numbers)
# output: True

タプルの例:

# creating a tuple of colors
colors = ("red", "green", "blue")
# using the max() function to get the maximum element in the tuple
print("Maximum color: ", max(colors))
# output: Maximum color: red
# using the in and not in operators to check if a color is present in the tuple
print("yellow" in colors)
# output: False
print("green" not in colors)
# output: False

リストとタプルの違い、適切な使用例、構文を理解することで、PCEP 試験の準備が整います。知識を確実にし、試験に合格する可能性を高めるために、さまざまなシナリオでこれらのデータ構造を使用する練習を忘れないでください。練習すれば完璧になるということを覚えておいてください!

リリースステートメント この記事は次の場所に転載されています: https://dev.to/myexamcloud/python-tuples-and-lists-tips-for-pcep-certification-preparation-2gkf?1 侵害がある場合は、[email protected] までご連絡ください。それを削除するには
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3