【问题标题】:Removing Items From List while iterating with For loop使用 For 循环迭代时从列表中删除项目
【发布时间】:2020-11-27 23:48:59
【问题描述】:

我正在从我的数据库中提取值,我的列表中的变量采用这种形式:

my_list = [<task1>, <task2>, <task3>]

我想将它们添加到一个新变量中:

new_list = []

当我这样做时:

for x in my_list:
    print(x.task_urgency)

我从列值“task_urgency”的所有三行中获取值

for x in my_list:
    if x.task_urgency == "New!":
        my_list.remove(x)
        new_list.append(x)

当我遍历时,由于索引系统在 for 循环中删除值的工作方式,它不会找到并删除所有值,但我需要它删除 x 的值的某些 '。 ..

我对 中包含的值不熟悉,不知道如何实现这一点。

【问题讨论】:

标签: python-3.x database list for-loop


【解决方案1】:

试试:

my_list = [task for task in my_list if task.task_urgency != "New!"]

【讨论】:

    【解决方案2】:

    解决方案:

    my_list = []
    new_list = []
    count = 0
    for y in my_list:
        if y == "New!":
            count += 1
    While True:
        if count > 0: 
            for x in my_list:
                if x.task_urgency == "New!":
                    my_list.remove(x)
                    new_list.append(x)
                    break
         else:
             break
    

    【讨论】:

      猜你喜欢
      • 2011-01-04
      • 2014-10-26
      • 2020-05-27
      • 2013-10-15
      • 2021-05-21
      • 1970-01-01
      • 2015-08-19
      • 1970-01-01
      相关资源
      最近更新 更多