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

タプルのリストをPythonのリストに変換する


要素がタプルであるリストに出くわすことがあります。ただし、さらにデータを処理するには、タプルをリストの通常の要素に変換する必要がある場合があります。この記事では、これを実現するためのアプローチについて説明します。

リスト内包表記付き

このアプローチでは、ネストされたforループを設計して、各タプルを反復処理し、要素の最終的なリストを作成します。

listA = [('Mon', 3), ('Wed', 4), ('Fri', 7, 'pm')]
# Given list
print("Given list : \n", listA)
res = [item for t in listA for item in t]
# Result
print("Final list: \n",res)

出力

上記のコードを実行すると、次の結果が得られます-

Given list :
[('Mon', 3), ('Wed', 4), ('Fri', 7, 'pm')]
Final list:
['Mon', 3, 'Wed', 4, 'Fri', 7, 'pm']

itertoolsを使用

itertools.chainメソッドを*演算子と一緒に使用することもできます。この演算子は、タプルのリスト内の各要素をフェッチし、それらをリストの一連の要素として結合します。

import itertools
listA = [('Mon', 3), ('Wed', 4), ('Fri', 7, 'pm')]
# Given list
print("Given list : \n", listA)
res = list(itertools.chain(*listA))
# Result
print("Final list: \n",res)

出力

上記のコードを実行すると、次の結果が得られます-

Given list :
[('Mon', 3), ('Wed', 4), ('Fri', 7, 'pm')]
Final list:
['Mon', 3, 'Wed', 4, 'Fri', 7, 'pm']

reduceとconcatを使用

のreduce関数は、concat関数を各リスト要素に適用するために使用され、最終的に元のリストからすべての要素のリストを生成します。

import operator
from functools import reduce
listA = [('Mon', 3), ('Wed', 4), ('Fri', 7, 'pm')]
# Given list
print("Given list : \n", listA)
res = (list(reduce(operator.concat, listA)))
# Result
print("Final list: \n",res)

出力

上記のコードを実行すると、次の結果が得られます-

Given list :
[('Mon', 3), ('Wed', 4), ('Fri', 7, 'pm')]
Final list:
['Mon', 3, 'Wed', 4, 'Fri', 7, 'pm']

  1. 文字のリストを文字列に変換するPythonプログラム

    Pythonはこの種の変換をたくさん必要とします。たとえば、このような変換はシリアル化の目的で役立ちます。このような変換の例は、-です。 ['h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd'] to "hello world" Pythonには、このような変換に使用できる結合メソッドがあります。オブジェクトを連結するために使用される区切り文字列

  2. Pythonでリストをタプルに変換する方法は?

    タプル関数に渡すだけで、リストをタプルに変換できます。 例 my_list = [1, 2, 3] my_tuple = tuple(my_list) print(my_tuple) 出力 これにより、出力が得られます- (1, 2, 3)