【发布时间】:2021-07-28 01:22:24
【问题描述】:
正如问题中提到的,我有一个这样的列表:
l = ['a', 'a', 'a', 200.0, 1.0, -55.4, 6.5, 'b', 'b', 'b']
我想从该列表中获取minimum 和maximum 值,以便将字符串“a”替换为minimum,将“b”替换为maximum。
我的输出必须是这样的:
l = [-55.4, -55.4, -55.4, 200.0, 1.0, -55.4, 6.5, 200.0, 200.0, 200.0]
我可以通过使用while 循环创建另一个列表来仅存储数值,然后对这个新列表进行排序并传递minimum 值(作为这个新的0th 元素list) 到一个变量,max (作为最后一个元素) 到另一个变量。
由于我的列表包含的元素比我作为示例编写的要多得多,我想知道是否有更有效的方法来做到这一点。
非常感谢:)
【问题讨论】:
-
比 what 更高效,究竟是什么?由于您尚未发布您的实现,我们几乎无法知道您使用的算法的效率如何。请提供预期见MRE - Minimal, Reproducible Example。
-
这与算法无关,在我看来,我描述的方法似乎有点复杂,而且不是很“pythonic”
标签: python list loops iteration