LoginSignup
3
2

More than 3 years have passed since last update.

タプルの連結 | concatenate tuples

Posted at

やりたいこと

  • (1, 2)に3という要素を追加して、(1, 2, 3)にしたい

どうやる?

配列に要素を追加していくような気持ちで、
ついつい誤った直観で下記のように書いてしまう

a = (1, 2)
b = 3
# として、
# (1, 2, 3)にしたくて
# 下記のように書いてしまう

c = (a, b)

print(c)
> ((1, 2), 3)
# tupleの入れ子になってしまった

Pythonの気持ち

「tupleとスカラーを括弧()でタプってるので、こう返した」

直観を修正する

  • tupleとtupleにして、連結すればよい
a = (1, 2)
b = (3,)    #末尾のカンマが大事。これがないとtupleにならない。
# として、

c = a + b
> (1, 2, 3)
# できた

おわりに

Pythonのいちいち型宣言をしなくて済むところは、コードがすっきりして好き。
型はメモリ側実装の話でアルゴリズムの本筋ではないので。

しかし、やっぱり型でつまづくなぁという印象。
if hogehoge == '1':
を あれー?たしかに、
hogehoge = 1 なのになぁ??ってつまづいたりする。

3
2
1

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
3
2