246:オブジェクトを配列に変換する
(Ruby の配列に相当する Python のクラスはリストです。)
イテレート可能であるオブジェクトは list を用いてリストに変換することができます。
>>> list((0, 1, 2, 3)) # タプル
[0, 1, 2, 3]
>>>
>>> list('abcd') # 文字列
['a', 'b', 'c', 'd']
>>>
>>> list({'a': 'A', 'b': 'B', 'c': 'C'}) # 辞書
['a', 'c', 'b']
>>>
>>> list(set(['a', 'b', 'c'])) # 集合
['a', 'c', 'b']
>>>
>>> list(xrange(1, 4)) # ジェネレータ
[1, 2, 3]
>>>
>>> list(ord(c) for c in u'abc') # ジェネレータ式によるジェネレータ
[97, 98, 99]
リストを list に渡すと、リストの浅いコピーを作ります。
>>> a = [0, 1, 2, [3, 4]] >>> b = list(a) >>> a is b False >>> a == b True >>> a[0] = 'zero' >>> a, b (['zero', 1, 2, [3, 4]], [0, 1, 2, [3, 4]]) >>> a[3][0] = 'three' >>> a, b (['zero', 1, 2, ['three', 4]], [0, 1, 2, ['three', 4]])