【发布时间】:2016-07-01 06:14:03
【问题描述】:
我正在研究一个列表中数字的二进制搜索,并遇到了this discussion
我在其他地方提到过分别使用偶数和奇数列表。但是这种语言是特定的吗?信息有点混乱。
对于二分搜索,我知道高级我需要执行以下步骤,
- 按升序对列表进行排序
- 检查列表中的中间项是否是我们完成的数字
- 如果不是,如果数字大于中间数字,去掉下半部分
- 如果搜索到的数字低于中间数字,则去掉上半部分
- 不断重复直到找到数字
列表可以是升序或降序,可以是float 或int 数字。
执行上述伪代码的pythonic方式是什么?
我在 windows 上使用 python 2.7.x。
** 编辑 **
提到的讨论不包括偶数和奇数列表(至少我看不到任何
我想要求对此进行更多说明,例如,
- 如果我需要区别对待偶数列表
- 有没有办法在 python 中解决这个问题
【问题讨论】:
-
Pythonic 方式是the answer 链接问题。
-
用户还询问了
even和odd列表。我的回答涵盖了这一点。 -
@anil_M :感谢您还涵盖了
even , odd列出问题的一部分。整数除法是否适用于整数和浮点列表。我会试试你的代码。 -
我们正在划分元素的数量而不是它们的值(float / int)等。因此,您的列表是否有 10 个 int 数字或 10 个 float 数字
10 /3 will be still equal to 3。此外,您需要相应地替换 main 函数以生成浮动列表和浮动随机数。希望这会有所帮助。