【问题标题】:separate a list in parentheses keeping them inside a list在括号中分隔一个列表,将它们保留在一个列表中
【发布时间】:2022-01-25 02:44:16
【问题描述】:

我有一个这样的列表

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

我想要这个:

x = [(1,2),(2,3),(3,4),(4,5),(5,6)]

我很想知道是否有一个库可以直接执行这个过程。否则,如何使用某些功能来做到这一点

【问题讨论】:

  • 你尝试了什么?
  • 是的 - 有很多方法可以使用内置函数轻松实现这一点 - 实现此目的的两种常用方法是 zipiter;或range 并列出slices。尝试了一些方法后回来
  • 这能回答你的问题吗? How do you split a list into evenly sized chunks?

标签: python list


【解决方案1】:

在很多方法中,你可以在这里使用 python listcomp。

[(x[i], x[i+1]) for i in range(len(x) - 1)]

P.S.:Stackoverflow 不适用于此类问题。请在提问之前至少尝试某种方式。

【讨论】:

    【解决方案2】:

    你可以使用这个功能:

    def f(x):
        res: list[tuple] = []
        for i in range(len(x)-1):
            res.append((x[i], x[i+1]))
        return res
    

    测试:

    In [5]: def f(x):
       ...:     res: list[tuple] = []
       ...:     for i in range(len(x)-1):
       ...:         res.append((x[i], x[i+1]))
       ...:     return res
       ...: 
    
    In [6]:  x = [1,2,3,4,5,6]
    
    In [7]: f(x)
    Out[7]: [(1, 2), (2, 3), (3, 4), (4, 5), (5, 6)]
    

    【讨论】:

      猜你喜欢
      • 2019-05-31
      • 1970-01-01
      • 1970-01-01
      • 2021-10-20
      • 1970-01-01
      • 1970-01-01
      • 2021-03-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多