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

Pythonで複製が含まれています


番号のリストがあるとします。リストに重複する要素が含まれているかどうかを確認する必要があります。したがって、リストが[1,5,6,2,1,3]の場合、2つの1があるため、1が返されますが、リストが[1,2,3,4]の場合、次のようになります。重複が存在しないため、false。

これを解決するために、このアプローチに従います-

セットのデータ構造は一意のデータのみを保持することがわかっています。ただし、リストは重複するコンテンツを折りたたむことができます。したがって、リストをセットに変換すると、重複する要素がある場合はサイズが小さくなり、長さを一致させることでこの問題を解決できます。

理解を深めるために、次の実装を見てみましょう-

class Solution(object):
   def containsDuplicate(self, nums):
      """
      :type nums: List[int]
      :rtype: bool
      """
      return not len(nums) == len(set(nums))
ob1 = Solution()
print(ob1.containsDuplicate([1,5,6,2,1,3]))
print(ob1.containsDuplicate([1,2,3,4]))

入力

nums = [1,5,6,2,1,3]
nums = [1,2,3,4]

出力

True
False

  1. Pythonでリストに連続番号が含まれているかどうかを確認します

    データ分析のニーズによっては、Pythonデータコンテナに連番が存在するかどうかを確認する必要がある場合があります。以下のプログラムでは、Alistの要素の中に連続した数字があるかどうかを調べます。 範囲と並べ替えあり ソートされた関数は、リストの要素をソートされた順序で再配置します。次に、最小関数と最大関数を使用して、リストから最小値と最大値を取得する範囲関数を適用します。上記の操作の結果を2つのリストに保存し、それらが等しいかどうかを比較します。 例 listA = [23,20,22,21,24] sorted_list = sorted(listA) #sorted(l) == ra

  2. Pythonでゼロを複製する

    整数の固定長配列があるとすると、ゼロが出現するたびに複製し、残りの要素を右側にシフトする必要があります。 元の配列の長さを超える要素は書き込まれないことに注意してください。 したがって、配列が[1,0,2,3,0,4,5,0]のようであるとすると、変更後は[1,0,0,2,3,0,0,4] これを解決するには、次の手順に従います- arrを別の配列arr2にコピーし、iとjを0に設定します whilei