【问题标题】:Python Merge line with 1 entry with next linePython 将具有 1 个条目的行与下一行合并
【发布时间】:2016-08-18 16:24:39
【问题描述】:

输出类似...

['AAA', 'BBB', 'CCC', 'DDD']
['AAA']
['BBB', 'CCC', 'DDD']
['AAA', 'BBB', 'CCC', 'DDD']
['AAA', 'BBB', 'CCC', 'DDD']

我想将单个元素 AAA 与下一行 BBB CCC DDD 合并形成: AAA BBB CCC DDD。

我当前的代码是

   for s in my_input_string.split('\n'):
       s = ' '.join(s.split())
       entries = s.split(" ")

          if len(entries) < 2:
              print entries
          else:
              print entries[2]

它所做的只是返回正确的输出直到异常,它首先返回单个元素,然后是错误的条目,然后再次打印想要的输出。

【问题讨论】:

  • Entries 代表一行,还是列表的列表?我们需要更多的代码。
  • 这对于静态输入来说是微不足道的。变量输入会是什么样子?你想执行什么规则?
  • 这就是我看到输出的方式。每行都用 \n 读取,以表示该行的结束。添加了额外的位来澄清这一点。

标签: python list python-2.7 merge


【解决方案1】:

这就是你想要的

l = [['AAA', 'BBB', 'CCC', 'DDD'],['AAA'],['BBB', 'CCC', 'DDD'],['AAA', 'BBB', 'CCC', 'DDD'],['AAA', 'BBB', 'CCC', 'DDD']]
for i in range(0,len(l)):
    if(len(l[i]) < 2):
        l[i] = l[i] + l[i+1]
print l

如果长度为

【讨论】:

  • 然后这行重复了两次,这不是他想要的。
猜你喜欢
  • 2022-11-04
  • 2021-03-29
  • 2020-05-26
  • 2016-04-04
  • 2017-05-04
  • 2021-04-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多