方法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
を使用して要素を比較する方法などもあります。ご希望の方法に合わせて選択してください。