해결됨: 파이썬 연속 숫자 차이

Python 연속 숫자 차이와 관련된 주요 문제는 두 연속 숫자의 차이가 항상 동일하지 않다는 것입니다. 예를 들어 숫자 [1, 2, 3]의 목록이 있는 경우 1과 2의 차이는 1이지만 2와 3의 차이는 0.5에 불과합니다. 이것은 값의 차이를 계산하려고 하거나 일정한 단계 크기에 의존하는 알고리즘을 사용할 때 혼란을 일으킬 수 있습니다.

def consecutive_difference(nums): 
    diff = [] 
    for i in range(len(nums)-1): 
        diff.append(abs(nums[i] - nums[i+1])) 
    return diff 
  
# Driver code 
nums = [2, 4, 6, 8] 
print(consecutive_difference(nums))

# 라인 1: 이 라인은 nums라는 하나의 인수를 취하는 연속_차이라는 함수를 정의합니다.
# 2행: 이 행은 diff라는 빈 목록을 만듭니다.
# 3행: 이 행은 nums에서 XNUMX을 뺀 길이를 반복하는 for 루프입니다.
# 4행: 이 행은 nums의 각 요소 간 차이의 절대값을 diff 목록에 추가합니다.
# Line 5: 이 라인은 nums의 연속 요소 간의 모든 차이로 채워진 후 diff 목록을 반환합니다.
# 8행: 이 행은 nums라는 변수를 2, 4, 6, 8을 포함하는 목록과 동일하게 설정합니다.
# 9행: 이 행은 nums에 대해 successful_difference를 호출한 결과를 출력합니다.

Python의 목록에서 연속 숫자 찾기

파이썬에서 목록에서 연속된 숫자를 찾는 것은 상대적으로 쉽습니다. 가장 간단한 접근 방식은 목록을 반복하고 각 요소를 이전 항목과 비교하는 것입니다. 두 요소의 차이가 1이면 연속된 숫자입니다.

다음은 이를 수행할 수 있는 방법의 예입니다.

numbers = [1,2,3,4,5,6] # 숫자 목록
연속_숫자 = [] # 연속된 숫자를 저장할 목록
for i in range(len(numbers)-1): # 목록을 순환
if (numbers[i+1] – numbers[i]) == 1: # 두 요소의 차이가 1인지 확인
연속_숫자.append(숫자[i]) # 연속 숫자 목록에 요소 추가
연속_숫자.append(숫자[i+1]) # 연속 숫자 목록에 다음 요소를 추가합니다.
print(consecutive_numbers) # 연속된 숫자 목록 출력

목록에서 연속 숫자의 차이 구하기

Python에서는 zip() 함수를 사용하여 목록에서 연속된 숫자의 차이를 얻을 수 있습니다. zip() 함수는 두 개 이상의 이터러블을 사용하고 튜플의 이터레이터를 반환합니다. 전달된 각 iterable의 첫 번째 항목은 함께 쌍을 이루고 전달된 각 iterable의 두 번째 항목은 함께 쌍을 이루는 식입니다. 목록에서 연속된 숫자 간의 차이를 얻으려면 zip()을 사용하여 각 숫자를 이전 숫자와 쌍으로 만든 다음 빼서 차이를 얻을 수 있습니다. 예를 들어:

list_numbers = [1, 2, 3, 4]
차이 = [y – x의 경우 x, zip의 y(list_numbers[:-1], list_numbers[1:])]
print(차이) # 출력: [1, 1, 1]

관련 게시물:

코멘트 남김