python中的lambda可以迭代dict吗?

前端之家收集整理的这篇文章主要介绍了python中的lambda可以迭代dict吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我最近接受采访.面试官问我在 python中迭代dict的方法.我说所有的方式用于声明.但是他告诉我lambda怎么样?

我非常感到困惑,我认为lambda是一个匿名函数,但它如何迭代一个字典?一些代码如下:

new_dict = sorted(old_dict.items(),lambda x: x[1]) # sorted by value in dict

但在此代码中,lambda用作提供比较密钥的函数.你觉得这个问题怎么样?

解决方法

你不用lambda迭代.在Python中迭代可迭代对象有以下几种方法

> for statement(你的答案)
>理解,包括列表[x表示y中的x],字典{键:键的值,x中的值}和设置{x表示x中的x}
>生成器表达式:(x代表y的x)
>传递给迭代它的函数(map,all,itertools模块)
>手动调用next函数,直到StopIteration发生.

注意:3除非您稍后迭代该生成器,否则不会迭代它.在4的情况下,它取决于功能.

对于迭代特定集合(如dict或list),可以使用更多技术,例如col:remove元素或使用索引切片技巧.

现在lambda进入了画面.您可以在其中一些函数中使用lambdas,例如:map(lambda x:x * 2,[1,2,3]).但是这里的lambda与迭代过程本身无关,你可以传递一个常规的函数映射(func,3]).

原文链接:https://www.f2er.com/python/185545.html

猜你在找的Python相关文章