Python
 Computer >> コンピューター >  >> プログラミング >> Python

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')]

  1. なぜPythonはリスト内のリストではなくリスト内のタプルを返すのですか?

    Pythonは、一部のデータを返すときにデータを変更しないことを期待しています。タプルもリストよりも高速です。タプルは通常、順序と位置が意味があり、一貫している場合に使用されます。したがって、たとえば、Pythonにデータベースドライバーがあり、いくつかのデータをクエリする場合、ドライバーはデータを取得し、それを変更せずに使用することを期待しているため、タプルのリストが返される可能性があります。これにより、データがクエリしたフィールドと同じ順序になることも保証されます。

  2. Pythonタプル

    Pythonでは、タプルは順序付けられたコレクションです。 および不変 。つまり、タプルにアイテムを追加したり、タプルからアイテムを削除したりすることはできません。 括弧()を使用してタプルを作成します および少なくとも1つのコンマ( , ) 。 タプルは、スライスの結果もタプルになることを除いて、リストと同じようにインデックス付けおよびスライスできます。 タプルを作成する方法 colorsTuple = (red, green, blue) print(colorsTuple) 出力: (red, green, blue) 1つのアイテムのみでタプルを作成する タプルには少なくと