Pythonで配列を連続的にする方法


方法1: ループを使用して要素を追加する方法

def make_array_consecutive(nums):
    result = []
    nums.sort()
    for i in range(nums[0], nums[-1]+1):
        if i not in nums:
            result.append(i)
    return result
nums = [4, 2, 7, 6]
consecutive_nums = make_array_consecutive(nums)
print(consecutive_nums)

この例では、与えられた配列 nums をソートし、ループを使用して連続する要素を結果の配列に追加しています。最初の要素から最後の要素までループし、もし要素が配列 nums に存在しない場合は、それを結果の配列に追加します。

方法2: リスト内包表記を使用する方法

def make_array_consecutive(nums):
    nums.sort()
    return [i for i in range(nums[0], nums[-1]+1) if i not in nums]
nums = [4, 2, 7, 6]
consecutive_nums = make_array_consecutive(nums)
print(consecutive_nums)

この例では、リスト内包表記を使用して1行で配列を連続的に作成しています。range 関数を使用して連続する要素の範囲を指定し、それぞれの要素が nums 配列に存在しないかをチェックしています。

これらはPythonで配列を連続的にするための一般的な方法です。他にも、numpy ライブラリを使用する方法や、set を使用して要素を比較する方法などもあります。ご希望の方法に合わせて選択してください。