-python- シーケンス型

文字列,リスト,タプルには角括弧で値の参照ができる,スライシングができるなどの共通点があります.このような特徴を持つ方はシーケンス型と呼ばれます.シーケンス型のオブジェクトは,for文の in の後に用いてその要素のスキャンができます.またリスト内包表記のinの後にも同様に使うことができます.for文の説明の最初に出てきたrange関数が返す値もシーケンス型です.

>>> for i in range(3): 
...     print(i)
... 
0
1
2
>>> l = [2, 4, 6]
>>> for x in l: 
...     print(x)
... 
2
4
6
>>> m = [x * 2 for x in l]
>>> m
[4, 8, 12]
>>> s = 'abcd'
>>> for x in s: 
...     print(x)
... 
a
b
c
d
>>> ['*' + x + '*' for x in s]
['*a*', '*b*', '*c*', '*d*']
>>> list(s)
['a', 'b', 'c', 'd']
 

上記の例で最初に示したのは,rangeを使ったループです.リスト内包表記の場合のinの後にも同様にリストを指定できます.上記の例では要素を2倍したリストを作っています.
文字列もシーケンスなので,for文のinの後や,リスト内包表記のinの後に指定することができ,各文字を順に取り出すことが可能です.一般にlist(...)の括弧の中にはシーケンス型を指定することができ,そのシーケンスから値を取り出しつつ,それらをまとめたリストを作ります.上記の例では文字列を指定しているので,各文字を要素に持つようなリストが作成されています.