繁体   English   中英

保持字典值大于5的长度

[英]keeping dictionary values greater than length of five

d = {'key1':['hello', 'ab', 'a', 'morning', 'sunset', 'metaphysics'],
     'key2':['hi', 'morning', 'sunset', 'metaphysics'], 
     'key3':['hey', 'sunset', 'metaphysics']}

我有一个命令d ,我只想保留长度为5或更大的那些元素。 所以我希望我的输出是

d = {'key1':['hello', 'morning', 'sunset', 'metaphysics'],
     'key2':['morning', 'sunset', 'metaphysics'], 
     'key3':['sunset', 'metaphysics']}

我在这里查看了如何查找字典值的长度,但这确实有很大帮助。

有人可以帮忙吗?

d = {'key1':['hello', 'ab', 'a', 'morning', 'sunset', 'metaphysics'],
     'key2':['hi', 'morning', 'sunset', 'metaphysics'],
     'key3':['hey', 'sunset', 'metaphysics']}

for key, val in d.items():
    d[key] = [v for v in val if len(v) > 4]

print (d)

{'key1':['hello','morning','sunset','metaphysics'],'key2':['morning','sunset','metaphysics'],'key3':['sunset', '形而上学']}

仅使用理解力。

    d = {'key1':['hello', 'ab', 'a', 'morning', 'sunset', 'metaphysics'],
         'key2':['hi', 'morning', 'sunset', 'metaphysics'],
         'key3':['hey', 'sunset', 'metaphysics']}

    d  = {key: [v for v in value if len(v) >4] for key, value in d.items()}
    print(d)

{'key1':['hello','morning','sunset','metaphysics'],'key2':['morning','sunset','metaphysics'],'key3':['sunset', '形而上学']}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM