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

Python-行列の行の長さの頻度を数える


行列の行の長さの頻度をカウントする必要がある場合は、それが繰り返され、その頻度が空の辞書に追加されるか、再度見つかった場合は増分されます。

以下は同じもののデモンストレーションです

my_list = [[42, 24, 11], [67, 18], [20], [54, 10, 25], [45, 99]]

print("The list is :")
print(my_list)
my_result = dict()
for element in my_list:

   if len(element) not in my_result:
      my_result[len(element)] = 1

   else:
      my_result[len(element)] += 1

print("The result is :")
print(my_result)

出力

The list is :
[[42, 24, 11], [67, 18], [20], [54, 10, 25], [45, 99]]
The result is :
{1: 1, 2: 2, 3: 2}

説明

  • リストが定義され、コンソールに表示されます。

  • 空の辞書が定義されています。

  • リストは繰り返され、特定の長さがディクショナリに存在しない場合、ディクショナリの長さは1に割り当てられます。

  • それ以外の場合は、1ずつ増加します。

  • これは、コンソールに表示される出力です。


  1. Cプログラムで行列を斜め下向きに印刷します。

    サイズnxnの配列が与えられ、タスクは整数型の行列要素を対角線下に印刷することです。 斜め下向きとは、下の図のように、任意のサイズのnxnの配列を斜め下向きに印刷することを意味します- 最初に1を印刷し、次に2に移動して印刷し、対角線上に4に移動して、以下同様に印刷します。 例 Input: Matrix [3][3] = {    { 1, 2, 3 },    { 4, 5, 6 },    { 7, 8, 9 }} Output: 1 2 4 3 5 7 6 8 9 アルゴリズム int diagonally_down

  2. Pythonで行列内の囲まれた島の数を数えるプログラム

    バイナリ行列があるとします。ここで、1は土地を表し、0は水を表します。私たちが知っているように、島は周囲が水に囲まれているグループ化された1のグループです。完全に囲まれた島の数を見つける必要があります。 したがって、入力が次のような場合 3つの島があるため、出力は2になりますが、そのうちの2つは完全に囲まれています。 これを解決するには、次の手順に従います- 関数dfs()を定義します。これにはi、jが必要です iとjが行列の範囲内にない場合、 Falseを返す matrix [i、j]が0と同じ場合、 Trueを返す matrix [i、j]:=0 a:=df