已解决: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]

相关文章:

发表评论