ページへ戻る

− Links

 印刷 

Python​/リストとタプル の変更点 :: NJF Wiki

xpwiki:Python/リストとタプル の変更点

« Prev[3]  
4: 2016-12-29 (木) 04:35:00 njf[4] ソース[5] バックアップ No.4 を復元して編集[6] 現: 2017-01-02 (月) 14:34:39 njf[4] ソース[7] 編集[8]
Line 58: Line 58:
これは関数の引数などにタプルが必要な時、その要素が1つのみだと、うっかり間違って「,」を付けずにエラーを出してしまうことが良くあり、要注意です。 これは関数の引数などにタプルが必要な時、その要素が1つのみだと、うっかり間違って「,」を付けずにエラーを出してしまうことが良くあり、要注意です。
 +**タプルの必要性 [#ic6cb521]
「リストだけで良いのでは」と思われると思いますが、正直こだわらなければその通りです。ただし、タプルは実行速度がリストよりも少し速いというメリットがあります。他に辞書オブジェクトのキーとしても使えるという特徴があります。また明示的に変更を禁止したいときにも有用です。ただし、要素は変更不可といっても、Pythonには定数が定義できないので、タプル丸ごと変更は可能です。 「リストだけで良いのでは」と思われると思いますが、正直こだわらなければその通りです。ただし、タプルは実行速度がリストよりも少し速いというメリットがあります。他に辞書オブジェクトのキーとしても使えるという特徴があります。また明示的に変更を禁止したいときにも有用です。ただし、要素は変更不可といっても、Pythonには定数が定義できないので、タプル丸ごと変更は可能です。
実際にはメリットが生かされる場面はちょっと少ないかも知れません。 実際にはメリットが生かされる場面はちょっと少ないかも知れません。
-そのわりによく使われるので、他の人のコードなどを読むとき、各種関数や記法を使う時にも必要なので覚えておきましょう。+そのわりによく使われるので、他の人のコードなどを読む時や、各種関数や記法を使う時にも必要なので覚えておきましょう。
例えば、文字列をフォーマットする%記法ではタプルでないとエラーとなります。 例えば、文字列をフォーマットする%記法ではタプルでないとエラーとなります。
Line 82: Line 82:
 tuple_data = (1,2,3,4)  tuple_data = (1,2,3,4)
 list_data = list(tuple_data)  list_data = list(tuple_data)
 + 
 print list_data  print list_data
 + 
 print tuple(list_data)  print tuple(list_data)
« Prev[3]