【问题标题】:Concatenate List PYTHON [duplicate]连接列表 PYTHON [重复]
【发布时间】:2020-10-09 16:50:54
【问题描述】:

是否可以像这样在 python 中连接列表:列表 A 中的第 1 行与列表 B 中的第 1 行创建一个没有任何空格的新行,列表 A 中的第 2 行与列表 B 中的第 2 行,依此类推?

例子:

A = ["AAA", "CCC" , "EEE"]
B = ["BBB", "DDD", "FFF"]

所以输出将是:

C = ["AAABBB" , "CCCDDD" , "EEEFFF"]

我试过这段代码:

c = A + B

但我得到不同的输出:

C = ["AAA", "CCC" , "EEE" , "BBB", "DDD", "FFF"]

【问题讨论】:

  • 是的,这是可能的。尝试使用zip(),如果遇到困难请返回这里。不过应该很简单,尤其是在您查找示例时。

标签: python


【解决方案1】:

如果 A 和 B 的长度相同,则可以使用列表推导:

C = [A[i] + B[i] for i in range(len(A))]

【讨论】:

  • 这不是 Pythonic。试试[a+b for a,b in zip(A,B)]
【解决方案2】:

试试这个:

C = [i + j for i, j in zip(A, B)] 
C

来源:https://www.geeksforgeeks.org/python-concatenate-two-lists-element-wise/

【讨论】:

    【解决方案3】:

    您可以使用zip() 尝试此操作,它可能对您未来的代码工作有用。

    A = ["AAA", "CCC" , "EEE"]
    B = ["BBB", "DDD", "FFF"]
    
    #List comprehension
    
    output = [a+b for a,b in zip(A,B)]
    print(output)
    
    #Using for loop without list comprehension
    for a,b in zip(A,B):
        print(a+b)
        #append :)
    

    【讨论】:

      【解决方案4】:
      A = ["AAA", "CCC" , "EEE"]
      B = ["BBB", "DDD", "FFF"]
      
      C = []
      
      for i in range(len(A)):
          C.append(A[i] + B[i])
      
      print(C)
      

      这也有效。希望对您有所帮助!

      【讨论】:

      • 你不认为,当列表中的项目增加时,range(3) 会失效吗?最好使用range(len(A)),假设两个列表大小相同。
      猜你喜欢
      • 2017-08-02
      • 2013-06-13
      • 2019-12-09
      • 2011-03-02
      • 2021-04-22
      • 2019-04-05
      • 2022-01-25
      • 2015-06-16
      • 2015-09-16
      相关资源
      最近更新 更多