0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

タプルの仕組み|Python

Last updated at Posted at 2020-06-16

#Pythonでよく見る値のスワップ
よく見かける値の交換(スワップ)方法に以下のようなものがあります。
例えば C/C++

swapSample.cpp
#include <iostream>
using namespace std;
int main(void){
//初期設定
int x = 10;
int y = 25;
int tmp = 0;

cout << "x:"<< x << ", " << "y:"<< y << '\n';

// ここで交換処理をする
tmp = x;
x = y;
y = tmp;

cout << "x:"<< x << ", " << "y:"<< y << '\n';
return 0;
}
// 出力結果:
// x:10, y:25
// x:25, y:10

こういうswap処理をPythonでは以下のようにしてしまいます。

swapPython.py
x, y = 10, 25
print("x:{0}, y:{1}".format(x,y))
x,y = y, x # これだけでswap!
print("x:{0}, y:{1}".format(x,y))
# 出力結果:
# x:10, y:25
# x:25, y:10

この方法はよくフツーに便利に使っていますが、これはPythonのもつ
タプル
という機能です。

これはリストとは違い、
t = (1, 2, 3, 4, 5)
のように表現します。すると
>>> t [ENTER]
> (1,2,3,4,5)
>>>
のように値が格納されています。
いろいろな使用方法はあるのですが、今回はスワップについて。
##タプルのアンパッキング
タプルはかっこ()を省略することが可能です。
以下の表現は

swapPython.py
x, y = y, x # これだけでswap!

という箇所は実は

swapPython.py
(x, y) = (y, x) # これだけでswap!

というタプルの処理を実行したことになります。
#まとめ
ちょっとしたことでしたが
いつもやってる処理が、実はこういう意味だったんだ
と気づくことは多いものですね。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?