05-Python

Python(Part.31)| python【タプル(利用編-3)】

python| まとめ | 現役エンジニア&プログラミングスクール講師「python」のまとめページです。pythonに関して抑えておきたい知識や文法やにについて記事をまとめています。まとめページの下部には「おすすめの学習書籍」「おすすめのITスクール情報」「おすすめ求人サイト」について情報を掲載中...

目標

(pythonの)「リスト」と「タプル」の共通点について理解する。
(pythonの)「リスト」と「タプル」の相違点について理解する。

(pythonの)「リスト」と「タプル」

(pythonの)「リスト」と「タプル」の共通点

(pythonの)「リスト」と「タプル」には次の点で共通しています。

  • イテラブルオブジェクトである。
  • インデックス式・スライス式を利用した要素の取り出しが可能。
  • 「len()関数」「max()関数」「min()関数」「sum()関数」が利用可能。
  • 「indexメソッド」「countメソッド」を持つ。
  • 「+演算子」を利用しての連結、「*演算子」を利用しての繰り返しが可能。
  • 「in演算子(帰属性判定演算子)」を利用して要素の確認が可能。

インデックス式・スライス式を利用した要素の変更はできません。

(pythonの)「リスト」と「タプル」の相違点

(pythonの)「リスト」と「タプル」には次の点で違いがあります。

内容リストタプル
要素の変更
ミュータブル
×
イミュータブル
インデックス式値の取り出し・値の変更値の取り出しのみ
スライス式値の取り出し・値の変更値の取り出しのみ
appendメソッド×
extendメソッド×
insertメソッド×
removeメソッド×
popメソッド×
clearメソッド×
reverseメソッド×
copyメソッド×
内包表記×
del文
(要素の削除まで可能)

(オブジェクトの解放のみ)
辞書のキーとして扱える×
累算演算子での連結インプレースインプレースでない
累算演算子での繰り返しインプレースインプレースでない

インプレース(in-place)とは「利用しているオブジェクト」に対して直接、値の追加が行えることを意味します。インプレースでない場合は、値の追加を行う用の「新しいオブジェクト」を作成します。

「len関数」を利用した要素数の確認

「len関数」を利用するとオブジェクトの要素数を調べることができます。これはリスト、タプル、辞書、文字列などで利用できます。

画像引用元:https://docs.python.org/ja/3.11/library/functions.html#len

利用方法:len(シーケンスかコレクション)

利用例:len(( 1,2,3,4,5 ))

print('len(( 1, 2, 3, 4, 5 ))----->', len(( 1, 2, 3, 4, 5 )))

実行結果:要素の数として「5」が返っています。

len関数の引数には変数を利用することもできます。

tuple_num = ( 1, 2, 3, 4, 5 )
print('len(tuple_num)----->', len(tuple_num))

# len関数を利用してタプルを生成し、変数と紐づけています。
# range関数はrangeオブジェクトを生成する組み込み関数です。
# range(5)とすると0から4までの要素を持つrangeオブジェクトrange(0, 5)を生成します。
tuple_num_from_range = list(range(5))
print('len(tuple_num_from_range)----->', len(tuple_num_from_range))

実行結果:要素の数として、いづれも「5」が返っています。

range関数については次の通りです。

画像引用元:https://docs.python.org/ja/3.11/library/functions.html#range

「max関数」を利用した要素の最大値の確認

「max関数」を利用するとオブジェクト内の要素の最大値を調べることができます。

画像引用元:https://docs.python.org/ja/3.11/library/functions.html#max

tuple_num = ( 6, 3, 10, 8, 5 )
print('tuple_num内の最大の要素の値----->', max(tuple_num))

実行結果

「min関数」を利用した要素の最小値の確認

「min関数」を利用するとオブジェクト内の要素の最小値を調べることができます。

画像引用元:https://docs.python.org/ja/3.11/library/functions.html#min

tuple_num = ( 6, 3, 10, 8, 5 )
print('tuple_num内の最大の要素の値----->', min(tuple_num))

実行結果

「sum関数」を利用した要素の合計

「sum関数」を利用すると要素の合計を調べることができます。但し、要素は全て数値である必要があります。

画像引用元:https://docs.python.org/ja/3.11/library/functions.html#sum

tuple_num = ( 6, 3, 10, 8, 5 )
print('tuple_num内の要素の合計----->', sum(tuple_num))

実行結果

「reversed関数」を利用した要素の反転

「reversed関数」を利用するとオブジェクト内の要素を反転させた、別の新しいオブジェクトを作成することができます。

reversed(シーケンス型オブジェクト)はイテレータを返す関数です。タプルとして要素を反転したオブジェクトを作成したい場合はtuple()関数を利用します。

tuple_num = ( 6, 3, 10, 8, 5 )
reversed_tuple_num = tuple(reversed(tuple_num))
print('tuple_numの要素を反転----->', reversed_tuple_num)

利用するときにreversed(tuple_num)のみだと次のような表示が返ってきます。”<reversed object at 0x000002661239A710>”

実行結果

今回は以上になります。

「python」おすすめ書籍 ベスト3 | 現役エンジニア&プログラミングスクール講師「python」の学習でお勧めしたい書籍をご紹介しています。お勧めする理由としては、考え方、イメージなどを適切に捉えていること、「生のpython」に焦点をあてて解説をしている書籍であることなどが理由です。勿論、この他にも良い書籍はありますが、特に質の高かったものを選んで記事にしています。ページの下部には「おすすめのITスクール情報」「おすすめ求人サイト」について情報を掲載中。...

ブックマークのすすめ

「ほわほわぶろぐ」を常に検索するのが面倒だという方はブックマークをお勧めします。ブックマークの設定は別記事にて掲載しています。

「お気に入り」の登録・削除方法【Google Chrome / Microsoft Edge】「お気に入り」の登録・削除方法【Google Chrome / Microsoft Edge】について解説している記事です。削除方法も掲載しています。...
【パソコン選び】失敗しないための重要ポイント | 現役エンジニア&プログラミングスクール講師【パソコン選び】失敗しないための重要ポイントについての記事です。パソコンのタイプと購入時に検討すべき点・家電量販店で見かけるCPUの見方・購入者が必要とするメモリ容量・HDDとSSDについて・ディスプレイの種類・バッテリーの持ち時間や保証・Officeソフト・ウィルス対策ソフトについて書いています。...
RELATED POST
05-Python

Python(Part.25)| python【反復構造(二重for文)】| [Iterative Structures (double for statement)]

2024年7月4日
プログラミング学習 おすすめ書籍情報発信 パソコン初心者 エンジニア希望者 新人エンジニア IT業界への就職・転職希望者 サポートサイト Programming learning Recommended schools Recommended books Information dissemination Computer beginners Prospective engineers New engineers Prospective job seekers in the IT industry Support site
05-Python

Python(Part.18)| python【リスト(利用編-3)】【リストのメソッド(1/2)】

2023年12月6日
プログラミング学習 おすすめ書籍情報発信 パソコン初心者 エンジニア希望者 新人エンジニア IT業界への就職・転職希望者 サポートサイト Programming learning Recommended schools Recommended books Information dissemination Computer beginners Prospective engineers New engineers Prospective job seekers in the IT industry Support site