web-dev-qa-db-ja.com

Pythonでタプルを配列に入れることはできますか?

タプルを配列に入れる方法を知りたいですか?または、配列のタプルではなく、プログラムの設計に配列の配列を使用する方が良いですか?私にアドバイスしてください。ありがとうございました

19
iCezz

覚えておくべきことの1つは、 Tuple は不変であることです。つまり、いったん作成すると、その場で変更することはできません。一方、 list は変更可能です。つまり、要素を追加したり、要素を削除したり、要素をインプレースで変更したりできます。リストには余分なオーバーヘッドがあるため、値を変更する必要がある場合にのみリストを使用してください。

タプルのリストを作成できます:

>>> list_of_tuples = [(1,2),(3,4)]
>>> list_of_tuples
[(1, 2), (3, 4)]

またはリストのリスト:

>>> list_of_lists = [[1, 2], [3, 4]]
>>> list_of_lists
[[1, 2], [3, 4]]

違いは、リストのリストの要素を変更できることです。

>>> list_of_lists[0][0] = 7
>>> list_of_lists
[[7, 2], [3, 4]]

タプルのリストではありません:

>>> list_of_tuples[0][0] = 7
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'Tuple' object does not support item assignment

タプルのリストを反復するには:

>>> for (x,y) in list_of_tuples:
...    print x,y
... 
1 2
3 4
21
jterrace

listについて話している場合は、さまざまなタイプであっても、何でも入れることができます。

l=[10,(10,11,12),20,"test"]

l[0] = (1,2,3)
l.append((4,5))
l.extend((21,22)) #this one adds each element from the Tuple

arrayを意味する場合、いいえpython array sはタプルをサポートしていません。

7
Karoly Horvath
a = [ ('b', i , "ff" ) for i in range(1,5)]  
2
pkushiqiang