コスギデンサン >> 情報系メモ >> Python

Python : シーケンス Version 3.6.1 2017/10

List: リスト
list = [elm1, elm2, elm3, ...]


Tuple: タプル
tuple = (elm1, elm2, elm3, ...)
※タプルは要素の変更ができない。DBの結果セット等に使用される。


Dictionary: 辞書型
dict = { key1 : value1, key2 : value2, key3 : value3, ...}
※キー バリュー マッピング


Set: セット
set = (list)
※ 値の重複がない。
※ 順序が保証されない。
>>> list1 = [1,2,8,7,9,1,0,9,3,0,5,9,8,2,4,9,7,1,2,4,0,3,5,0,4,7,0,6,9,8,0,6,7,9,8,3,5,0,8,6,2,3,4,5,6,7,0,2,0,0,9,8,2,4,7,3,5]
>>> set1 = set(list1)
>>> print(set1)
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}


Comprehension: 内包表記
リストと辞書型変数は値ではなく条件で宣言できる。
※タプルに内包表記はない。

# 0から9までのリストを作成する。
>>> list1 = [ x for x in range(0,10) ]
>>> print(list1)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

# 0から29の範囲で3の倍数のリストを作成する。
>>> list1 = [ x for x in range(0,30) if x%3==0 ]
>>> print(list1)
[0, 3, 6, 9, 12, 15, 18, 21, 24, 27]

# タプルの内包表記はない。
>>> tuple1 = ( x for x in range(0, 10) )
>>> print(tuple1)
<generator object <genexpr> at 0x7f330922f410>

# 0から9までのキーとキーの2倍のバリュー。コロンでキーとバリューを区切ること。
>>> dict1 = { x : x * 2 for x in range(0, 10) }
>>> print(dict1)
{0: 0, 1: 2, 2: 4, 3: 6, 4: 8, 5: 10, 6: 12, 7: 14, 8: 16, 9: 18}