【问题标题】:How can I put each item of a list into a particular format?如何将列表中的每个项目放入特定格式?
【发布时间】:2021-06-25 09:14:34
【问题描述】:

这是我的清单。

output_list=['Jenny\n\n\n\n\n\n\n\n\n\n2021/3/4\n\n\n\n\n\n\n\n\n\n       300\n\n\n\n\n\n      \n\n\n\n\n\n',
             'Cindy\n\n\n\n\n\n\n\n\n\n2022/4/5\n\n\n\n\n\n\n\n\n\n       700\n\n\n\n\n\n      \n\n\n\n\n\n',
             'Kevin\n\n\n\n\n\n\n\n\n\n2011/5/8\n\n\n\n\n\n\n\n\n\n       210\n\n\n\n\n\n      \n\n\n\n\n\n']

我一直在尝试将每个项目直接放入这种格式。

Name: Jenny, Date: 2021/3/4, Like: 300
Name: Cindy, Date: 2022/4/5, Like: 700
Name: Kevin, Date: 2011/5/8, Like: 210

我尝试了几种方法,但都没有奏效。如果有人知道任何方法,请帮助我。

【问题讨论】:

    标签: python list split format


    【解决方案1】:

    您可以拆分 1 个或多个空白字符,并去除可能的前导和尾随换行符。

    import re
    
    output_list=['Jenny\n\n\n\n\n\n\n\n\n\n2021/3/4\n\n\n\n\n\n\n\n\n\n       300\n\n\n\n\n\n      \n\n\n\n\n\n',
                 'Cindy\n\n\n\n\n\n\n\n\n\n2022/4/5\n\n\n\n\n\n\n\n\n\n       700\n\n\n\n\n\n      \n\n\n\n\n\n',
                 'Kevin\n\n\n\n\n\n\n\n\n\n2011/5/8\n\n\n\n\n\n\n\n\n\n       210\n\n\n\n\n\n      \n\n\n\n\n\n']
    
    for item in output_list:
        res = re.split(r"\s+", item.strip())
        print(f"Name: {res[0]}, Date: {res[1]}, Like: {res[2]}")
    

    输出

    Name: Jenny, Date: 2021/3/4, Like: 300
    Name: Cindy, Date: 2022/4/5, Like: 700
    Name: Kevin, Date: 2011/5/8, Like: 210
    

    Python demo

    【讨论】:

      【解决方案2】:

      这应该可以工作

      putput_list=['Jenny\n\n\n\n\n\n\n\n\n\n2021/3/4\n\n\n\n\n\n\n\n\n\n       300\n\n\n\n\n\n      \n\n\n\n\n\n',
                   'Cindy\n\n\n\n\n\n\n\n\n\n2022/4/5\n\n\n\n\n\n\n\n\n\n       700\n\n\n\n\n\n      \n\n\n\n\n\n',
                   'Kevin\n\n\n\n\n\n\n\n\n\n2011/5/8\n\n\n\n\n\n\n\n\n\n       210\n\n\n\n\n\n      \n\n\n\n\n\n']
      
      newlist = []
      
      for i in range(len(output_list)):
          output_list[i] = output_list[i].replace(' ','')
          output_list[i] = output_list[i].split('\n')
          
          if i != '':
              newlist.append(i)
      for i in range(len(newlist)):
          print('Name: {}, Date: {}, Like: {}'.format(newlist[0],newlist[1],newlist[2]))
      
      

      【讨论】:

      • 感谢您回答我。但是,它一直显示'list' object has no attribute 'replace'的错误。如果您知道错误在哪里,请帮我解决。
      • 你打电话给你的名单list 吗?
      • 我更改了我的代码,它现在应该可以工作了,替换和拆分只适用于字符串而不是列表,我没有看到我的错误抱歉^^
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-04
      • 2019-03-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多