Python入門トップページ


目次

  1. プログラミング言語
  2. Anaconda - Jupyter Notebook / JupyterLab の環境設定
  3. Python の基礎
  4. リスト,タプル,辞書,集合
    1. リスト
    2. タプル
    3. 辞書
    4. 集合
  5. 再び Jupyter Notebook の操作
  6. Python の制御構文
  7. 関数
  8. 便利な関数など
  9. リストの内包表記
  10. 多次元リスト
  11. クラス
  12. 演習問題
  13. 雑多な情報

Python の基礎

リスト,タプル,辞書,集合

リストとタプル

リストやタプルを使うと複数の要素をまとめて管理できる.さらに,個々の要素はリストやタプルであっても良い.リストとタプルの違いは,リストがミュータブルで,タプルがイミュータブルであることである.つまり,リストの要素は書き換えが可能で,要素の追加や削除もできるのに対し,タプルは一旦定義すれば書き換えはできなくなる.

目次に戻る

タプル

タプルの作成は,要素をカンマで区切り,丸括弧 ( ) で囲う.表示でも丸括弧で囲われている.リストの定義では角括弧 [ ] であったことに注意しよう.

scores_tuple = (10, 30, 25, 20)
print(scores_tuple)
(10, 30, 25, 20)

あるいは,要素をカンマで区切るだけで,丸括弧 ( ) をつけない場合もタプルが生成される.この場合も表示は丸括弧で囲われることに注意する.

names_tuple = 'Tanaka', 'Sato', 'Watanabe', 'Takahashi'
print(names_tuple)
('Tanaka', 'Sato', 'Watanabe', 'Takahashi')

リストと同様に,オフセットで要素を指定できる.

names_tuple[0]
'Tanaka'

リストとの大きな違いは要素を書き換えられないこと.「Sato」を「Kato」に書き換えようとするとエラーになる.

names_tuple[1] = 'Kato'
--------------------------------------------------------------------
TypeError                          Traceback (most recent call last)
<ipython-input-58-023c8f428e08> in <module>()
----> 1 names_tuple[1] = 'Kato'

TypeError: 'tuple' object does not support item assignment

タプルは要素を変更できませんが,リストよりもパフォーマンスが高くなる傾向があるようです.

なお,ただ1つの要素からなるタプルを定義するときには,閉じるカッコの直前にカンマを付与する必要があります.

names_tuple = ('Tanaka',)
type(names_tuple)
tuple

次のようにカンマを付与しなければ異なる解釈がされ,次の例では文字列として定義されることになります.

names_tuple = ('Tanaka')
type(names_tuple)
str

目次に戻る