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

Pythonのカスタム長マトリックス


Pythonを使用してマトリックスを作成する場合、結果のマトリックスで特定の要素が繰り返される回数を制御する必要がある場合があります。この記事では、要素がリストとして指定されている場合に、必要な数の要素を含むマトリックスを作成する方法を説明します。

zipの使用

マトリックスで使用される要素を含むリストを宣言します。次に、マトリックス内の要素の出現回数を保持する別のリストを宣言します。 zip関数を使用して、要素を整理するためのforループを含む結果の行列を作成できます。

listA = ['m', 'n', 'p','q']

# Count of elements
elem_count = [1,0,3,2]

# Given Lists
print("Given List of elements: " ,listA)
print("Count of elements : ",elem_count)

# Creating Matrix
res = [[x] * y for x, y in zip(listA, elem_count)]

# Result
print("The new matrix is : " ,res)

出力

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

Given List of elements: ['m', 'n', 'p', 'q']
Count of elements : [1, 0, 3, 2]
The new matrix is : [['m'], [], ['p', 'p', 'p'], ['q', 'q']]

マップとマルチ付き

このアプローチでは、上記のzipメソッドの代わりに、オペレーターモジュールのmulメソッドを使用します。また、map関数はリスト内のすべての要素にmulメソッドを適用するため、forループは必要ありません。

from operator import mul

listA = ['m', 'n', 'p','q']

# Count of elements
elem_count = [1,0,3,2]

# Given Lists
print("Given List of elements: " ,listA)
print("Count of elements : ",elem_count)

# Creating Matrix
res = list(map(mul, listA, elem_count))

# Result
print("The new matrix is : " ,res)

出力

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

Given List of elements: ['m', 'n', 'p', 'q']
Count of elements : [1, 0, 3, 2]
The new matrix is : ['m', '', 'ppp', 'qq']

  1. Pythonで分割されたカスタムリスト

    データ分析は、データを移動するためにラングリングする必要がある複雑なシナリオを投げかけます。このコンテキストでは、大きなリストを取得し、要件に従ってそれを多くのサブリストに分割する方法を見てみましょう。この記事では、これを実現するためのアプローチについて説明します。 zipおよびforループ付き このアプローチでは、リストダイシングを使用して、分割が発生する必要があるポイントから要素を取得します。次に、zipとforループを使用して、forループを使用してサブリストを作成します。 例 Alist = ['Mon', 'Tue', 'Wed',

  2. Pythonで行列を転置しますか?

    行列を転置するということは、その列をその行に変換することを意味します。転置後にどのように見えるかを例で理解しましょう。 -のような元の行列があるとします。 x = [[1,2][3,4][5,6]] 上記の行列「x」には、1、3、5と2、4、6を含む2つの列があります。 したがって、行列「x」の上に転置すると、列が行になります。したがって、上記のマトリックスの転置バージョンは次のようになります- x1 = [[1, 3, 5][2, 4, 6]] したがって、別のマトリックス「x1」があります。これは、さまざまな場所でさまざまな値を使用してさまざまに編成されています。 以下は、Pyt