【问题标题】:Concatenate List in PythonPython中的连接列表
【发布时间】:2017-02-24 12:37:50
【问题描述】:

我有 3 个列表,它们有一个值,我想连接列表,所以我使用 + 运算符连接,但输出不是我预期的。我需要使用该列表,因为在某些情况下我可以获得更多结果而不是一个。

列表:

A = ["F"]
B = ["SZLY"]
C = ["RQTS"]
D = ["19230711"]

输出:

['F']['SZLY']['RQTS']['19230711']

预期输出:

FSZLYRQTS19230711

更新:

我使用下面的代码进行连接。我使用 str() 是因为我想将最顶层的列表元素转换为字符串。

hrk = str(A)+str(B)+str(C)+str(D)

我怎样才能得到预期的输出。

【问题讨论】:

  • 你究竟是如何在这里使用+...?
  • 您似乎也不想连接列表(= 创建一个包含多个项目的列表),但您想连接列表中的所有字符串。
  • 您声称的输出不是真正的输出。请用实际的minimal reproducible example 澄清。
  • 完全不清楚您为什么认为这是一种有意义的方法。你得到的输出正是你应该预期的。
  • @jonrsharpe 对不起,我太天真了,但我是 python 新手,这些东西我才刚刚开始理解。对不起,如果我不清楚。

标签: python list concatenation


【解决方案1】:

str 上的 list 打印列表的表示形式(用于调试目的)。在您的代码中将其作为字符串进一步处理是不好的。

最 Python 的方式:在列表推导中使用 join 来获取列表中的第一个和唯一项

A = ["F"]
B = ["SZLY"]
C = ["RQTS"]
D = ["19230711"]

print(["".join(x[0] for x in (A,B,C,D))])

结果:

FSZLYRQTS19230711

【讨论】:

    【解决方案2】:

    这样试试,

    In [32]: A[0]+B[0]+C[0]+D[0]
    Out[32]: 'FSZLYRQTS19230711'
    

    【讨论】:

      【解决方案3】:

      试试:

      A[0] + B[0] + C[0] + D[0]
      

      您正在尝试访问列表的第一个元素,因此您必须按索引访问它们。

      您当前所做的将创建一个包含所有元素的列表。喜欢:

      A = ['2414214']
      B = ['fefgg']
      
      C = A + B
      print C
      
      # Will print
      ['2414214', 'fefgg']
      

      【讨论】:

        猜你喜欢
        • 2017-11-29
        • 1970-01-01
        • 2012-08-09
        • 1970-01-01
        • 1970-01-01
        • 2011-12-09
        • 1970-01-01
        • 2011-07-09
        • 2018-04-27
        相关资源
        最近更新 更多