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

Pythonで指定された位置まで配列を反転するプログラム


このチュートリアルでは、特定の位置まで配列を反転する方法を学習します。問題の説明を見てみましょう。

配列があります 整数と数のn 。私たちの目標は、配列の要素を逆にすることです 0日から (n-1)番目のインデックス 索引。たとえば、

Input
array = [1, 2, 3, 4, 5, 6, 7, 8, 9] n = 5
Output
[5, 4, 3, 2, 1, 6, 7, 8, 9]

目標を達成するための手順。

  • 配列と数値を初期化します
  • n/2までルー​​プします。
    • (i)番目を交換します インデックスと(n-i-1)番目 要素。
  • 結果が得られる配列を印刷します。

## initializing array and a number
arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]
n = 5
## checking whether the n value is less than length of the array or not
if n > len(arr):
   print(f"{n} value is not valid")
else:
   ## loop until n / 2
   for i in range(n // 2):
      arr[i], arr[n - i - 1] = arr[n - i - 1], arr[i]
   ## printing the array
   print(arr)

上記のプログラムを実行すると、次の結果が得られます。

出力

[5, 4, 3, 2, 1, 6, 7, 8, 9]

これを行う簡単な方法は、 Pythonでスライスを使用することです。 。

  • 1。配列と数値を初期化します
  • 2。 (n-1)から0にスライスします およびnから長さ (両方を追加します)。

コードを見てみましょう。

## initializing array and a number
arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]
n = 5
## checking whether the n value is less than length of the array or not
if n > len(arr):
   print(f"{n} value is not valid")
else:
   ## reversing the arr upto n
   ## [n-1::-1] n - 0 -1 is for decrementing the index
   ## [n:] from n - length
   arr = arr[n-1::-1] + arr[n:]
   ## printing the arr
   print(arr)

上記のプログラムを実行すると、次の結果が得られます。

出力

[5, 4, 3, 2, 1, 6, 7, 8, 9]

プログラムについて疑問がある場合は、コメントセクションにその旨を記載してください。


  1. 配列内の反転をカウントするPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −リストが表示されます。必要な反転をカウントして表示する必要があります。 反転カウントは、配列をソートするために必要なステップ数をカウントすることによって取得されます。 次に、以下の実装のソリューションを見てみましょう- 例 # count def InvCount(arr, n):    inv_count = 0    for i in range(n):       for j in range(i + 1, n):  

  2. 配列ローテーション用のPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −テキストとパターンが与えられた場合、パターンのすべての出現とその順列(またはアナグラム)をテキストで印刷する必要があります。 次に、以下の実装のソリューションを見てみましょう- 例 # maximum value MAX = 300 # compare def compare(arr1, arr2):    for i in range(MAX):       if arr1[i] != arr2[i]:       &nbs