【问题标题】:I have a list and I remove index with compragenson also need to remove the next line after removed index我有一个列表,我用 compragenson 删除索引还需要在删除索引后删除下一行
【发布时间】:2021-04-07 16:46:21
【问题描述】:
data_accounts = [2,8, 3,7, 4,10, 5,20]
data_accounts_limit = [2,4,5]
data_accounts = [x for x in data_accounts if x not in data_accounts_limit]

我还需要删除 8,10 和 20 如何删除它们。还有 3,7 需要在列表中保持相同的顺序。

【问题讨论】:

  • 将它们添加到 data_accounts_limit 列表中?
  • 您决定根据哪些标准删除 8、10 和 20 ?你需要规则
  • 是的,我做到了,谢谢

标签: python list list-comprehension


【解决方案1】:

创建另一个列表以删除这些元素。

data_accounts = [2,8, 3,7, 4,10, 5,20]
data_accounts_limit = [2,4,5]
data_accounts = [x for x in data_accounts if x not in data_accounts_limit]

remove = [8, 10, 20];
data_accounts = [x for x in data_accounts if x not in remove]

【讨论】:

  • 这不回答问题,他想找到删除第一次运行时被删除的元素后面的元素
  • 如果有那么容易,他会做到的,因为他似乎知道
【解决方案2】:
for each_ac, each_p in zip(data_accounts[0::2], data_accounts[1::2]):
        for each_a in data_accounts_limit:
            if each_ac == each_a:
                data_accounts_limit.append(each_p)


data_accounts = [x for x in data_accounts if x not in data_accounts_limit]

【讨论】:

    猜你喜欢
    • 2019-01-13
    • 2019-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-06
    • 2020-10-01
    • 1970-01-01
    相关资源
    最近更新 更多