当前位置: 首页 > 编程笔记 >

在Python列表中查找数量严格增加的组

栾英资
2023-03-14
本文向大家介绍在Python列表中查找数量严格增加的组,包括了在Python列表中查找数量严格增加的组的使用技巧和注意事项,需要的朋友参考一下

有时我们可能需要评估列表中的元素是否严格递增。这意味着数字以1的间隔增加。在本文中,我们将了解如何在给定列表中找出严格增加的数字组。

直接比较

通过这种方法,我们逐渐增加每个数字的索引,并将其与列表中的先前数字进行比较。只要第二个数字比第一个大1,我们就会将这些数字附加到内部列表中。否则,该数字将成为外部列表的一部分。

示例

listA = [11, 12, 6, 7, 8, 12, 13,14]
res = [[listA[0]]]

for i in range(1, len(listA)):
   if listA[i - 1] + 1 == listA[i]:
      res[-1].append(listA[i])

   else:
      res.append([listA[i]])

print(res)

输出结果

运行上面的代码给我们以下结果-

[(11, 12), (6, 7, 8), (12, 13, 14)]

使用itertools

在这种方法中,我们使用itertools及其函数来获取一组严格递增的数字。

示例

from itertools import groupby, cycle

def groupincreasing(l):
   inner_list = cycle(listA)

   next(inner_list)
   groups = groupby(l, key=lambda j: j + 1 == next(inner_list))
   for k, v in groups:
      if k:
         yield tuple(v) + (next((next(groups)[1])),)


listA = [11, 12, 6, 7, 8, 12, 13,14]
print(list(groupincreasing(listA)))

输出结果

运行上面的代码给我们以下结果-

[(11, 12), (6, 7, 8), (12, 13, 14)]
 类似资料:
  • 本文向大家介绍在C ++中使数组严格增加,包括了在C ++中使数组严格增加的使用技巧和注意事项,需要的朋友参考一下 假设我们有两个数组arr1和arr2,它们可以存储整数。我们必须找到使arr1严格增加所需的最小操作数。在这里,我们可以选择两个索引0 <= i <n和0 <= j <m并进行赋值arr1 [i] = arr2 [j](n和m分别是arr1和arr2的大小) 如果我们不让3严格使数组

  • 问题内容: 关于你的第一个问题:该代码非常好,并且如果与其中的一个元素相等就可以正常工作。也许你尝试查找与其中一项不完全匹配的字符串,或者你使用的浮点值会导致不准确。 关于第二个问题:如果“查找”列表中的内容,实际上有几种可能的方法。 检查里面是否有东西 这是你描述的用例:检查列表中是否包含某些内容。如你所知,你可以使用in运算符: 过滤集合 即,找到满足特定条件的序列中的所有元素。你可以为此使用

  • 如何在Python中找到列表的中值?列表可以是任何大小,并且不能保证数字按任何特定顺序排列。 如果列表包含偶数个元素,则函数应返回中间两个元素的平均值。 以下是一些示例(出于显示目的进行了分类):

  • 问题内容: 我很新,我希望它不太明显,但是我似乎无法为以下问题找到一个简短而准确的答案。 我有两个清单: 我想查找第二个列表()的所有索引何时在第一个列表()中,以便得到如下内容: b在a中的索引:或 问题答案: 具有列表理解: 或使用for循环:

  • 问题内容: 我有一个sql表,用于存储股票的每日价格。收市后每天都会插入新的记录。我想找到价格连续上涨的股票。 该表有很多列,但这是相关的子集: 该列是主键。 在表中,股票编号1的收盘价每天都在增加。股票ID 3的波动很大,股票ID 2的价格在最后一天下跌。 我正在寻找这样的结果: 如果您可以获得带有连续条纹的日期的输出,那就更好了: 价格开始上涨的时间,牛市实际上结束的时间。 我认为这不是一个容

  • 在WooCommerce的shop页或archive的产品列表里,给产品列表增加数量字段 和加入购物车按钮,允许客户直接添加任意数量产品进入购物车。 增加数量字段的代码 放在子主题的functions.php中 /** * Override loop template and show quantities next to add to cart buttons */ add_filter(