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

Python-Nより大きいKの連続範囲


「N」より大きい「K」の連続範囲を取得する必要がある場合は、「enumerate」属性と単純な反復が使用されます。

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

my_list = [3, 65, 33, 23, 65, 65, 65, 65, 65, 65, 65, 3, 65]
print("The list is :")
print(my_list)
K = 65
N = 3
print("The value of K is ")
print(K)
print("The value of N is ")
print(N)
my_result = []
beg, end = 0, 0
previous = 1
for index, element in enumerate(my_list):
   if element == K:
      end = index

      if previous != K:
         beg = index
   else:

      if previous == K and end - beg + 1 >= N:
         my_result.append((beg, end))
   previous = element

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

出力

The list is :
[3, 65, 33, 23, 65, 65, 65, 65, 65, 65, 65, 3, 65]
The value of K is
65
The value of N is
3
The result is :
[(4, 10)]

説明

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

  • 「K」と「N」の値が定義され、コンソールに表示されます。

  • 空のリストが定義されています。

  • 「前へ」の値が定義されています。

  • 「beginning」と「end」の値が定義されています。

  • リストは列挙することで繰り返されます。

  • リスト内のいずれかの要素が別の値「k」と同等である場合、インデックス値が再定義されます。

  • それ以外の場合は、「前へ」の値が再定義されます。

  • 開始値と終了値が空のリストに追加されます。

  • これは出力として返されます。

  • 出力はコンソールに表示されます。


  1. Pythonでターゲットよりも大きい最小の文字を見つける

    ソートされた文字の文字のリストがあるとします。これには小文字のみが含まれています。ターゲット文字tがあります。リスト内で、指定されたターゲットよりも大きい最小の要素を見つける必要があります。 そして、文字も回ります。したがって、ターゲットがt =zで文字=[a、b]の場合、答えはaです。 したがって、入力が[c、 f、 j]、t =aの場合、出力はcになります。 これを解決するには、次の手順に従います- l:=0 r:=文字のサイズ-1 l <=rの場合、do mid:=(l + r)/2整数として がターゲットの場合、 r:=mid -1 それ以外の場合、 l

  2. Pythonでの最長の連続シーケンス

    整数の配列があるとします。連続する最長の要素シーケンスの長さを見つける必要があります。したがって、入力が[100、4、250、1、3、2]の場合、最長の連続シーケンスは[1,2,3,4]であるため、回答は4になります。 これを解決するには、次の手順に従います- 配列を最長:=0に設定します 範囲配列内のiの場合- i –1が-にない場合 現在:=i、ストリーク:=0 私が-にいる間 iを1増やし、ストリークを1増やします 最長:=最長とストリークの最大値 最長で戻る 例 理解を深めるために、次の実装を見てみましょう- cla