如何解决从python整数列表中删除最大值和最小值
| 我对Python并不完全陌生,但是我在发展自己的技能时对学习/保持良好实践感兴趣。 我想从数字列表中删除较高和较低的值,我知道该怎么做,但是我想知道是否有更好/更好的方法可以做到这一点。mylist = [1,4,3,2]
mylist.sort() #[0,1,2,4]
trimmed = mylist[1:-1] #[1,3]
我得到了想要的答案,但是我得到了正确的答案吗?
解决方法
如果您不想更改商品的顺序,这是另一种方法:
mylist = [1,4,3,2]
mylist.remove(max(mylist))
mylist.remove(min(mylist))
假设高/低在列表中没有任何重复项,或者如果有重复项,则可以仅删除其中之一。
这将需要进行2-4次遍历列表:两个查找最大值和最小值,最多查找2个要删除的值(如果它们都恰好位于列表的末尾)。您可以通过编写Python循环以一次找到最大值和最小值将其减少为一个(并记住每个索引的索引,以便可以在循环后按索引删除项目)。但是,min()
和max()
是用C实现的,因此即使使用Python代码替换它们也可以减少通过次数,但可能会导致性能降低。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。