【问题标题】:Python For Not In [duplicate]Python For Not In [重复]
【发布时间】:2015-11-05 00:10:31
【问题描述】:

我声明了一个字典 test

test = {'test1': 1, 'test2': 2, 'test3': 3}

我想复制test 过滤掉可能存在或不存在的特定键。

我尝试了以下方法:

test_copy = {k: test[k] for k not in ('test3', 'test4')}

但是 Python 似乎不喜欢 for not in 循环。有什么办法可以在一行中很好地做到这一点?

我不相信这个问题是重复的 List comprehension with if statement 因为我专门搜索了几分钟以上的字典。

【问题讨论】:

  • 嗯,我关闭了它,但回想起来,关闭它可能不是正确的副本...
  • 我对 python 比较陌生,但对其他语言有经验。我觉得我的问题是针对我的特定问题的,而不是其他人可能不会在搜索中出现的笼统问题。

标签: python for-loop


【解决方案1】:

字典理解test_copy = {k: test[k] for k in test if k not in EXCLUDED_KEYS} 将完成复制。

【讨论】:

  • 谢谢!在没有“测试中”的情况下,我尝试了几乎相同的事情。
【解决方案2】:

你需要在条件句中注明“不在”:

test_copy = {k: test[k] for k in test if k not in ('test3', 'test4')}

【讨论】:

    猜你喜欢
    • 2011-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-15
    • 2017-12-02
    • 1970-01-01
    • 2012-09-25
    相关资源
    最近更新 更多