已解決:python連續數之間的區別

與 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 行:這一行定義了一個名為 consecutive_difference 的函數,它接受一個參數 nums。
# 第 2 行:該行創建一個名為 diff 的空列表。
# 第 3 行:這一行是一個 for 循環,遍歷 nums 的長度減一。
# 第 4 行:這一行將 nums 中每個元素的差的絕對值添加到 diff 列表中。
# 第 5 行:此行返回 diff 列表,其中填充了 nums 中連續元素之間的所有差異。
# 第 8 行:此行將名為 nums 的變量設置為等於包含 2、4、6 和 8 的列表。
# 第 9 行:這一行打印出在 nums 上調用 consecutive_difference 的結果。

在 Python 中查找列表中的連續數字

在 Python 中查找列表中的連續數字相對容易。 最直接的方法是遍歷列表並將每個元素與其前面的元素進行比較。 如果兩個元素之間的差為 1,則它們是連續的數字。

這是如何完成此操作的示例:

numbers = [1,2,3,4,5,6] # 數字列表
consecutive_numbers = [] # 存儲連續數字的列表
for i in range(len(numbers)-1): # 遍歷列表
if (numbers[i+1] – numbers[i]) == 1: # 檢查兩個元素之間的差異是否為 1
consecutive_numbers.append(numbers[i]) # 將元素追加到連續數字列表
consecutive_numbers.append(numbers[i+1]) # 將下一個元素添加到連續數字列表
print(consecutive_numbers) # 打印出連續數字列表

獲取列表中連續數字之間的差異

在 Python 中,您可以使用 zip() 函數獲取列表中連續數字之間的差異。 zip() 函數接受兩個或多個可迭代對象並返回一個元組迭代器。 每個傳遞的 iterable 中的第一個項目配對在一起,然後每個傳遞的 iterable 中的第二個項目配對在一起,依此類推。 要獲得列表中連續數字之間的差異,您可以使用 zip() 將每個數字與其前身配對,然後減去它們以獲得差異。 例如:

列表數字 = [1, 2, 3, 4]
差異 = [y – x for x, y in zip(list_numbers[:-1], list_numbers[1:])]
print(differences) # 輸出:[1, 1, 1]

相關文章:

發表評論