【发布时间】:2017-10-19 18:49:13
【问题描述】:
我有一本包含不同字长键的字典,例如:
d={'longggg':'a', 'short':'b', 'medium':'c', 'shor':'d'}
我想最终得到一个只有大于一定长度的键的字典。例如,我只想保留 6 个字母或更长的条目。所以我想要
new_d={'longggg':'a', 'medium':'c'}.
我试过了
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})
以及该代码的许多其他变体,但问题最终在于获取密钥的长度。
【问题讨论】:
-
new_d={k:v for k,v in d.items() if len(k)>=6}。您在len[k]中使用的方括号用于索引,您想调用该函数,因此请使用括号。 -
哪个版本的 Python? d.items() 仅适用于版本 3+
-
@DanielGale 不正确。我发表的评论在发布之前在 Python 2 中进行了测试。
-
@DanielGale stackoverflow.com/questions/10458437/…
iteritems被添加以创建一个生成器,有点像xrangeforrange,它成为 Python 3 中的默认range。 -
@DanielGale 完全正确 :)
标签: python dictionary key string-length