如何用一行Python代码过滤myItem中bool为True的条目?
解决方法
你第二个列表推导式报错的核心原因是:遍历myItem时,item取到的是字典的键(字符串类型),字符串本身没有bool属性,因此会抛出AttributeError。
正确的一行代码实现有两种写法:
写法一:通过键取值判断
[item for item in myItem if myItem[item]['bool']]
写法二:用items()同时遍历键和值(可读性更高)
[key for key, value in myItem.items() if value['bool']]
两种写法都能得到目标结果['A/B', 'A/D']。另外注意,判断布尔值无需额外写== True,直接使用布尔变量本身即可,简洁且准确。
内容的提问来源于stack exchange,提问作者nftgamer
相关产品推荐
相关产品推荐

