質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

340閲覧

tupleについて。

yasutomi04

総合スコア3

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

1グッド

1クリップ

投稿2021/04/03 05:35

いまリストについて勉強をしているのですが、タプルという変更ができない物入れを見ました。
tupleを使用する利点は何ですか

tain👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

tupleを使用する利点は何ですか

  • tupleは、pythonという処理系を使うと意識しなくても普通に使っています。

python

1x, y = 10, 30

というのも実はtupleです。

python

1>>> x, y = 10, 30 2>>> print(x) 310 4>>> print(y) 530 6>>> (w, t) = (10, 30) 7>>> print(w) 810 9>>> print(t) 1030

上記の二つの代入は同じ意味です。
つまり、カンマでつないだ式は自動的にtupleになっています。

複数の値をreturnする関数の値も実はtupleです。
例えば、商と余りを返す関数である組み込み関数divmodがあります。

python

1>>> print(divmod(7, 3)) 2(2, 1)

この戻り値は7を3で割った商である2と余りである1のtupleが返ってきています。
これを変数に代入したければ

python

1>>>, 余り = divmod(7, 3) 2>>> print() 32 4>>> print(余り) 51

のようになります。
(わかりやすいように日本語変数を使いましたが、普通は使わない方が無難です)

  • 辞書のキーや集合の要素

例えば[1, 3, 2, 2, 1, 4] から重複を取り除きたいときは集合を使って以下のようにします。

python

1>>> print(list(set([1, 3, 2, 2, 1, 4]))) 2[1, 2, 3, 4]

しかし、[[1,2], [2,3], [3,4], [2,3]]で同じことをするとエラーになります。
そういうときは、[(1,2), (2,3}, (3,4), (2,3)]を使います。

同様にリストは辞書のキーになれませんがtupleは辞書のキーになれます。

  • 関数の引数

いくつかの関数はリストではなくtupleだけを引数として受け取ります。

投稿2021/04/03 08:11

編集2021/04/03 10:15
ppaul

総合スコア24666

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yasutomi04

2021/04/10 08:06

わかりやすかったです。ありがとうございました。
guest

0

こちらの説明が分かりやすいかと思います。

Python のタプルとリストの違い、タプルの使いどころ

投稿2021/04/03 07:13

meg_

総合スコア10579

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yasutomi04

2021/04/10 08:08

わざわざありがとうございます。おかげさまで理解できました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問