【问题标题】:Generate list of i & i+1 combinations生成 i & i+1 组合列表
【发布时间】:2019-08-22 15:19:16
【问题描述】:

我有以下清单:

i = [1,2,3,4,5,6]

我想将此列表转换为 i 和 i+1 组合的列表(我不确定这是否清楚)。例如,我希望它看起来像这样:

>>> [[1,2],[2,3],[3,4],[4,5],[5,6]]

到目前为止,我已经尝试过:

temp = []
sequence = []
x = [1,2,3,4,5,6]

for i, val in enumerate(x):

    temp.append(val)

    if i != 0 and i%2!=0:
        sequence.append(temp)
        temp = []

但它会返回:

[[1, 2], [3, 4], [5, 6]]

我做错了什么?是否有一个功能是执行此操作的集合或 itertools 库?提前致谢!

【问题讨论】:

    标签: python-3.x list collections tuples itertools


    【解决方案1】:

    好的,所以你的主要问题(减去变量名被混淆)是你唯一的附加到序列每个其他值,这就是它跳过 [2,3] 和 [4,5] 的原因(基本上任何以偶数)。您的另一个问题是您在清除后没有将偶数值添加回 temp 。这会导致您的 if 语句出现问题,因为它实际上并没有按照需要经常追加。

    temp = []
    sequences = []
    x = [1,2,3,4,5,6]
    
    for i, val in enumerate(x):
    
        temp.append(val)
    
        if i != 0:
            sequences.append(temp)
            temp = []
            temp.append(val)
    

    【讨论】:

      猜你喜欢
      • 2020-09-27
      • 2022-07-13
      • 2012-01-12
      • 2014-05-25
      • 1970-01-01
      • 2012-01-13
      • 2015-08-17
      • 2015-05-24
      • 2014-02-22
      相关资源
      最近更新 更多