Pythonのタプルのリストでタプルを組み合わせる
データ分析では、Pythonで利用可能なデータ構造の組み合わせを使用することがあります。リストには、その要素としてタプルを含めることができます。この記事では、タプルの各要素を別の特定の要素と組み合わせて、リストタプルの組み合わせを作成する方法を説明します。
forループあり
以下のアプローチでは、タプルの各要素を取得してリスト内の要素をループすることにより、要素のペアを作成するforループを作成します。
例
Alist = [([2, 8, 9], 'Mon'), ([7, 5, 6], 'Wed')] # Given list of tuple print("List of tuples : \n",Alist) # Combine tuples in list of tuples res = [(t1, t2) for i, t2 in Alist for t1 in i] # print result print("The list tuple combination : \n" ,res)
出力
上記のコードを実行すると、次の結果が得られます-
List of tuples : [([2, 8, 9], 'Mon'), ([7, 5, 6], 'Wed')] The list tuple combination : [(2, 'Mon'), (8, 'Mon'), (9, 'Mon'), (7, 'Wed'), (5, 'Wed'), (6, 'Wed')]
製品付き
itertoolsモジュールには、渡されたパラメーターのデカルト積を作成するproductという名前のイテレーターがあります。この例では、タプルの各要素を通過し、タプルの非リスト要素とペアを形成するループを設計します。
例
from itertools import product Alist = [([2, 8, 9], 'Mon'), ([7, 5, 6], 'Wed')] # Given list of tuple print("List of tuples : \n",Alist) # Combine tuples in list of tuples res = [x for i, j in Alist for x in product(i, [j])] # print result print("The list tuple combination : \n" ,res)
出力
上記のコードを実行すると、次の結果が得られます-
List of tuples : [([2, 8, 9], 'Mon'), ([7, 5, 6], 'Wed')] The list tuple combination : [(2, 'Mon'), (8, 'Mon'), (9, 'Mon'), (7, 'Wed'), (5, 'Wed'), (6, 'Wed')]
-
なぜPythonはリスト内のリストではなくリスト内のタプルを返すのですか?
Pythonは、一部のデータを返すときにデータを変更しないことを期待しています。タプルもリストよりも高速です。タプルは通常、順序と位置が意味があり、一貫している場合に使用されます。したがって、たとえば、Pythonにデータベースドライバーがあり、いくつかのデータをクエリする場合、ドライバーはデータを取得し、それを変更せずに使用することを期待しているため、タプルのリストが返される可能性があります。これにより、データがクエリしたフィールドと同じ順序になることも保証されます。
-
Pythonタプル
Pythonでは、タプルは順序付けられたコレクションです。 および不変 。つまり、タプルにアイテムを追加したり、タプルからアイテムを削除したりすることはできません。 括弧()を使用してタプルを作成します および少なくとも1つのコンマ( , ) 。 タプルは、スライスの結果もタプルになることを除いて、リストと同じようにインデックス付けおよびスライスできます。 タプルを作成する方法 colorsTuple = (red, green, blue) print(colorsTuple) 出力: (red, green, blue) 1つのアイテムのみでタプルを作成する タプルには少なくと