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

Pythonを使用して配列リストの0と1を分離しますか?


リスト内包表記は、Pythonで人気のある手法です。ここでは、この手法を使用します。ユーザー入力配列を作成します。配列要素はランダムな順序で0と1である必要があります。次に、左側の0と右側の1を分離します。配列をトラバースし、2つの異なるリストを分離します。1つは0を含み、もう1つは1を含み、2つのリストを連結します。

Input:: a=[0,1,1,0,0,1]
Output::[0,0,0,1,1,1]

アルゴリズム

seg0s1s(A)
/* A is the user input Array and the element of A should be the combination of 0’s and 1’s */
Step 1: First traverse the array.
Step 2: Then check every element of the Array. If the element is 0, then its position is left side and if 1 then it is on the right side of the array.
Step 3: Then concatenate two list.

サンプルコード

#  Segregate 0's and 1's in an array list
def seg0s1s(A):
   n = ([i for i in A if i==0] + [i for i in A if i==1])
   print(n)

# Driver program
if __name__ == "__main__":
   A=list()
   n=int(input("Enter the size of the array ::"))
   print("Enter the number ::")
   for i in range(int(n)):
      k=int(input(""))
      A.append(int(k))
   print("The New ArrayList ::")    
   seg0s1s(A)

出力

Enter the size of the array ::6
Enter the number ::
1
0
0
1
1
0
The New ArrayList ::
[0, 0, 0, 1, 1, 1]

  1. Pythonでのスタックおよびキューとしてのリストの使用

    この記事では、Python3.xのスタックとキューの構造について学習します。またはそれ以前。ここでは、これらのデータ構造内での動作と変更について説明します- これには-が含まれます 挿入操作(プッシュ、エンキュー) 削除操作(ポップ、デキュー) 表示/トラバース操作 前提条件 :リストとリスト操作 関連データ構造 :リスト操作 関連画像 スタック スタックでは、オブジェクトは互いに重ねて格納され、これらのオブジェクトは到着の逆の順序で削除されます。つまり、LIFOの概念に従います。 LIFOは、スタックデータ構造で後入れ先出しタイプの配置に従うことを意味します。 スタックで

  2. Pythonリストと配列の違いは何ですか?

    基本的に、Pythonリストは非常に柔軟性があり、完全に異種の任意のデータを保持でき、償却された一定時間で非常に効率的に追加できます。アレイを時間効率よく、手間をかけずに縮小および拡大する必要がある場合は、それらが最適な方法です。ただし、C配列よりもはるかに多くのスペースを使用します。 一方、array.arrayタイプは、C配列の単なる薄いラッパーです。すべて同じタイプの同種のデータのみを保持できるため、sizeof(1つのオブジェクト)*lengthバイトのメモリのみを使用します。 したがって、リストは次のようになります:[1、a、[1、2]、string] ただし、配列には同じタ