Python中的复杂数组连接

Python中的复杂数组连接,python,list,Python,List,我有一个这样的数组: pairs = [['a', 'b', 'c', 'd'], ['g', 'h', 'j', 'k', 'l', 'm']] ['a_b', 'b_c', 'c_d'] ['g_h', 'h_j', 'j_k', 'k_l', 'l_m'] 我想加入它们并创建一个新的数组,以便在输出上有如下内容: pairs = [['a', 'b', 'c', 'd'], ['g', 'h', 'j', 'k', 'l', 'm']] ['a_b', 'b_c', 'c_d'] [

我有一个这样的数组:

pairs = [['a', 'b', 'c', 'd'], ['g', 'h', 'j', 'k', 'l', 'm']]
['a_b', 'b_c', 'c_d']
['g_h', 'h_j', 'j_k', 'k_l', 'l_m']
我想加入它们并创建一个新的数组,以便在输出上有如下内容:

pairs = [['a', 'b', 'c', 'd'], ['g', 'h', 'j', 'k', 'l', 'm']]
['a_b', 'b_c', 'c_d']
['g_h', 'h_j', 'j_k', 'k_l', 'l_m']
我正在努力解决一个算法,但我想不出什么。我该怎么做

[['{}_{}'.format(*x) for x in zip(p, p[1:])] for p in pairs]
  • p的
    成对
    部分迭代每个输入列表
  • zip(p,p[1:])
    返回每个项目与下一个项目的对
  • '{}{}.format(*x)
    获取您请求的字符串
  • p的
    成对
    部分迭代每个输入列表
  • zip(p,p[1:])
    返回每个项目与下一个项目的对
  • '{}{}.format(*x)
    获取您请求的字符串

  • 可以通过使用范围为的for循环来实现这一点

    def parse(list):
        new_list = []
        for i in range(len(list) - 1):
            new_list.append(list[i] + "_" + list[i+1])
        return new_list
    

    可以通过使用范围为的for循环来实现这一点

    def parse(list):
        new_list = []
        for i in range(len(list) - 1):
            new_list.append(list[i] + "_" + list[i+1])
        return new_list
    

    对于列表中的每个元素
    n
    ,将其与其下一个元素
    n+1
    (如果
    n+1
    存在)配对,并将结果添加到列表中。对所有列表单独执行此操作,创建多个对列表。将结果对列表合并到单个列表中。听起来像你想要的?看看你能做的所有方法D@ThorSummoner是的,我有点被所有的可能性淹没了!谢谢大家!对于列表中的每个元素
    n
    ,将其与其下一个元素
    n+1
    (如果
    n+1
    存在)配对,并将结果添加到列表中。对所有列表单独执行此操作,创建多个对列表。将结果对列表合并到单个列表中。听起来像你想要的?看看你能做的所有方法D@ThorSummoner是的,我有点被所有的可能性淹没了!谢谢大家!或者
    map(''.'.join,zip(p,p[1:])
    @AshwiniChaudhary-yours更好!或者
    map('.'.join,zip(p,p[1:])
    @AshwiniChaudhary-yours更好!