uppack代入を行う為にfor文にタプルを渡すとき、どんなタプルが必要なるか。
uppack代入を行う為にfor文にタプルを渡すとき、どんなタプルが必要なるか。
for文で定義された個数の要素をもったタプルが必要になる。
たとえば以下のような感じ
#!/usr/bin/env pythontap = ( ('a','b'), ('c','d') )
for k, v in tap:
print('%s: %s'%(k, v))
-
-
- output
-
a: b
c: d
ただ、渡すタプルの要素が一つだけのときはエラーになってしまう。
例えば以下の通り
#!/usr/bin/env python
tap = ( ('a','b') ) #←タプルの要素が一つになってる
for k, v in tap:
print('%s: %s'%(k, v))
-
-
- output
-
Traceback (most recent call last):
File "/Users//work/python/for.py", line 4, in
for k, v in tap:
ValueError: need more than 1 value to unpack
どうにも納得がいかない。
たとえばDBからとれたデータが1レコードとかだったらエラーになってしまうのだろうか。