【问题标题】:how remove item Due to the character previous item of list如何删除项目由于列表的前一项字符
【发布时间】:2019-03-08 13:57:34
【问题描述】:

我在从列表中删除时遇到问题 我有一个如下所示的列表:

my_list = ['asf', 'fds.', 'all']

我想用一个条件打印 my_list; 如果 '。'在上一个项目中不打印项目(并且不删除)如下所示:

['asf', 'fds.']

请帮帮我。

【问题讨论】:

  • 非常标准的for 循环任务,您已经基本描述过了。您的实施有什么问题?
  • 欢迎来到 StackOverflow。请查看How to Askedit 您的问题,以展示您到目前为止所做的尝试。
  • 您想删除'fds.' 之后的所有内容,还是不想打印?您的标题和问题的信息相互矛盾。

标签: python python-3.x


【解决方案1】:

列表理解

[val for idx,val in enumerate(my_list) if (idx==0) or (idx>=1  and '.' not in my_list[idx-1])]

【讨论】:

    【解决方案2】:

    这是一个使用枚举的解决方案:

    my_list = ['asf', 'fds.', 'all']
    
    new_list = [ item for i, item in enumerate(my_list) if i == 0 or '.' not in my_list[i-1] ]
    

    或使用 zip 的解决方案:

    [my_list[0]] + [ current for prev,current in zip(my_list,my_list[1:]) if '.' not in prev]
    

    【讨论】:

      猜你喜欢
      • 2013-07-17
      • 2017-03-16
      • 2017-11-15
      • 1970-01-01
      • 2019-05-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-12
      相关资源
      最近更新 更多