【问题标题】:How can I merge members of a list in python?如何在 python 中合并列表的成员?
【发布时间】:2015-11-05 12:22:29
【问题描述】:

当前输出:

['test1.txt StatusCode: 123', 'test2.txt StatusCode: 726', 'test1.txt CompanyID: abc']

期望的输出:

['test1.txt StatusCode: 123 CompanyID: abc', 'test2.txt StatusCode: 726']

【问题讨论】:

  • 我只有一个列表,而不是 2 个列表。但我会试一试。谢谢
  • 你为什么要把它作为你的输出?似乎字符串对于您的数据来说恰恰是错误的结构,并且会使任何后续操作变得比它需要的困难很多倍。
  • 全图是这样的。 [1] 找到两个文件(完成); [2] 在这些文件中找到一些字符串(完成); [3] 将找到的字符串附加到每个文件。例如file1.txt - 字符串:'test1' 和 'test2' + file2.txt - 字符串:'test1'。我想创建一个列表: ['file1.txt test1 test2', 'file2.txt test1'].

标签: python


【解决方案1】:

请尝试以下代码。它适用于您的示例。

current_output = ['test1.txt StatusCode: 123', 'test2.txt StatusCode: 726', 'test1.txt CompanyID: abc']
d = dict()
order = []
for item in current_output:
    k,v = item.split(' ', 1)
    if k not in order:
        order.append(k)
    d[k] = d.get(k, []) + [v]
desired_output = ["%s %s" % (k, ' '.join(d[k])) for k in order]
print desired_output

【讨论】:

    【解决方案2】:

    也许您可以获取列表的最后一个元素,将其拆分,然后将其附加到其他字符串元素

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-02
      • 1970-01-01
      • 2019-05-05
      • 2018-05-28
      相关资源
      最近更新 更多