Skip to main content
 首页 » 编程设计

python之如何在一行for循环中跳过没有值的键

2025年05月04日19lyj

我想在我的代码中节省一些空间,所以我写了这个简单的单行 for 循环。从字典 k:[v,v] 我正在创建字典,其中第一个值是键,第二个值保持值。现在我的字典出现异常,原始字典只有一个值,即第一个值。

glyphs_dict = {'dotaccent': [103, 86], 'ring': [104], 'caron': [105, 85]} 
id_dict = {k:v for k,v in list(glyphs_dict.values())} 

我试过做类似的事情

id_dict = {k:v for k,v in list(glyphs_dict.values()) if k and v} 

但不起作用。如何跳过列表中只有一个值的键?

请您参考如下方法:

你可以试试这个:

id_dict = {v[0]:v[1] for v in glyphs_dict.values() if len(v) == 2} 

如果长度为 2(对于 key 和 value),这将获取字典的所有值作为新的键和值