在python中,如何从字典中删除短于某个长度的键?

2024-09-27 00:22:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一本字典,里面有不同字长的关键字,例如:

d={'longggg':'a', 'short':'b', 'medium':'c', 'shor':'d'}

最后我想用一个只有大于一定长度的键的字典。例如,我只想保留长度为6个字母或更长的条目。所以我想

^{pr2}$

我试过了

new_d=dict(k,v) for k,v in d.items() if len[k]>=6

以及

new_d={}
for k, v in d.items():
    if len[k]>=6:
        new_d.update({k:v})

除了该代码的许多其他变体之外,问题最终在于获取密钥的长度。在


Tags: innewforlenif字典字母条目
3条回答

{Python}中不使用^运算符。在

第一个解决方案的一个大问题是为每个k, v创建一个单独的字典。在

如果第二个函数可以用cd4{cd4}方法来重写,那么就应该用cd4{1}函数来重写。在

我可以告诉你是新手,对于初学者的问题,最好的资源是Python documentation,而不是堆栈溢出。您还应该尝试将错误输出复制并粘贴到Google中。你可能会更快地解决你的问题,你会得到更有意义的答案。在

你可以试试这个:

d={'longggg':'a', 'short':'b', 'medium':'c', 'shor':'d'}
final_d = {a:b for a, b in d.items() if len(a) >= 6}

输出:

^{pr2}$

使用Dictionary comprehensions。不需要做for k in d.keys()。只需使用for k in d,因为d.keys()将返回一个根本不需要的列表。(这是我从Stackoverflow身上学到的一课!!)在

同样正如@roganjosh指出的那样,使用len()代替{}(len()是一个函数)。方括号用于索引,例如,列表和字符串。在

d={'longggg':'a', 'short':'b', 'medium':'c', 'shor':'d'}

a = {k:d[k] for k in d if len(k)>=6}
print a

输出:

^{pr2}$

相关问题 更多 >

    热门问题