【问题标题】:Dictionary comprehensions词典理解
【发布时间】:2022-12-31 02:31:19
【问题描述】:

词典理解

num_dict={1:1,2:4,3:9}
twice_num_dict={key: (value if value*2 >=8 else None)for (key,value) in num_dict.items()}
print(twice_num_dict)

字典理解我想创建一个新的字典,如果第一个字典的值*2 >=8,那么只有现有字典的键值对才会出现在新字典中,我在这里使用了 if 和 else,但不知道要在 else 中键入什么条件使得 1:1 的键值对根本不打印

【问题讨论】:

  • 这个表达有点奇怪:if value * 2 >= 8。最好去测试value >= 4

标签: python python-3.x dictionary


【解决方案1】:

您应该在理解中将 if 子句放在 for 子句之后,如下所示:

{k: v for k, v in d.items() if v * 2 >= 8}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-29
    • 1970-01-01
    • 2019-02-24
    • 1970-01-01
    • 1970-01-01
    • 2019-11-26
    • 2016-09-03
    • 1970-01-01
    相关资源
    最近更新 更多