ページへ戻る
+ Links
印刷
Python/リストとタプル
の編集 ::
NJF Wiki
xpwiki
:
Python
/
リストとタプル
の編集
Python/リストとタプル の編集
詳細な入力項目を表示
ページタイトル
( 空白で自動設定 )
:
ページ並び順
( 0-9 小数可 標準:1 )
:
ページ別名
(複数は[
改行
]で区切る)
:
ページ内容:
*リストとタプルの特長と違い [#ib7669e3] Pythonを始めて、インデントの制御構造の他に最初に何それと思うのがタプルでしょう。普通の配列のようなリストもあるのにタプルは何だろうと最初見たとき思いました。 リストは「[]」で定義して、タプルは「()」で定義します。 list_data = [1,2,3,4] tuple_data = (1,2,3,4) 使う時は[]を使って各要素にアクセスするので、簡単な使い方ではどちらも似たような物に見えます。 print list_data[1] print tuple_data[1] 結果 2 2 でももちろん同じではありません。 簡単に言うと、「リスト=普通の配列」、「タプル=変更できないリスト」です リストは変更可能で、 >>> a = [1,2,3] >>> a[2] = 10 >>> a [1, 2, 10] 一方、タプルは変更しようとするとエラーが発生します。 >>> a = (1,2,3) >>> a[2] = 10 Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'tuple' object does not support item assignment リストは「append」で追加できます。 >>> a = [1,2,3] >>> a.append(2) >>> a [1, 2, 3, 2] タプルでは連結ができますが、これはもとのタプルを変更しているのではなく、タプルを作り直しています。 >>> a = (1,2) >>> b = a + (1,) >>> b (1, 2, 1) 要素一つのタプルは(1,)のようにコンマをつけます。 つけないと単なるグループ化と思われて、ただの数字の1となってしまいます。 >>> a = (1) >>> a 1 >>> a = (1,) >>> a (1,) これは関数の引数などにタプルが必要な時、その要素が1つのみだと、うっかり間違って「,」を付けずにエラーを出してしまうことが良くあり、要注意です。 **タプルの必要性 [#ic6cb521] 「リストだけで良いのでは」と思われると思いますが、正直こだわらなければその通りです。ただし、タプルは実行速度がリストよりも少し速いというメリットがあります。他に辞書オブジェクトのキーとしても使えるという特徴があります。また明示的に変更を禁止したいときにも有用です。ただし、要素は変更不可といっても、Pythonには定数が定義できないので、タプル丸ごと変更は可能です。 実際にはメリットが生かされる場面はちょっと少ないかも知れません。 そのわりによく使われるので、他の人のコードなどを読む時や、各種関数や記法を使う時にも必要なので覚えておきましょう。 例えば、文字列をフォーマットする%記法ではタプルでないとエラーとなります。 >>> "%s is a %s" % ("This","test") 'This is a test' >>> "%s is a %s" % ["This","test"] Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: not enough arguments for format string *リストとタプルの相互変換 [#xe5e56c0] タプルをリストに、リストをタプルにするのはそれぞれ「list」「tuple」関数を使います。 tuple_data = (1,2,3,4) list_data = list(tuple_data) print list_data print tuple(list_data) 関数 [1, 2, 3, 4] (1, 2, 3, 4)
編集の要約:
Q & A 認証:
ページ更新時は次の質問にお答えください。(プレビュー時は必要ありません)
Q:
「京都」の読みがな?(ひらがなで)
A:
お名前:
タイムスタンプを変更しない
テキスト整形のルールを表示する
添付ファイル
: