python文本排序检索_如何用Python排序和搜索?

选择排序算法

选择排序算法基于最小值或最大值的连续选择。 假设我们有一个列表 ,我们想要按升序排序(从较小的值到较大的值)。 最小的元素将在列表的开头,而最大的元素将在列表的末尾。

假设原始清单如下:

| 7 | 5 | 3.5 | 4 | 3.1 |

我们要做的第一件事是在列表中找到最小值 ,在我们的例子中是3.1 。

找到最小值后,将该最小值与列表中的第一个元素交换 。 也就是说,将3.1与7交换。 现在,该列表将如下所示:

| 3.1 | 5 | 3.5 | 4 | 7 |

现在我们可以确定第一个元素在列表中的正确位置,我们从列表中的第二个元素开始重复上述步骤(查找最小值)。 我们可以发现列表中的最小值(从第二个元素开始)为3.5 。 因此,我们现在将3.5与5交换。 现在列表如下:

| 3.1 | 3.5 | 5 | 4 | 7 |

至此,我们可以确定第一个元素和第二个元素处于正确的位置。

现在,我们检查列表其余部分中的最小值,即从第三个元素5 。 列表其余部分中的最小值是4 ,现在我们将其交换为5 。 因此,列表如下:

| 3.1 | 3.5 | 4 | 5 | 7 |

因此,我们现在可以确定前三个元素处于正确的位置,并且该过程将以这种方式继续进行。

让我们看看如何在Python(基于Isai Damier )中实现选择排序算法:def selectionSort(aList):

for i in range(len(aList)):

least = i

for k in range(i+1, len(aList)):

if aList[k] < aList[least]:

least = k

swap(aList, least, i)

def swap(A, x, y):

temp = A[x]

A[x] = A[y]

A[y] = temp

让我们通过在上述脚本的末尾添加以下语句来测试算法:

在这种情况下,您应该获得以下输出:

[4.6, 4.7, 5.76, 7.3, 7.6, 25.3, 32.4, 43.5, 52.3, 55.3, 86.7]

线性搜索算法

线性搜索算法是一种简单的算法,其中对列表中的每个项目(从第一个项目开始)进行调查,直到找到所需的项目或到达列表的末尾为止。

线性搜索算法在Python中的实现方式如下(基于Python School ):

让我们测试一下代码。 在上面的Python脚本的末尾输入以下语句:

输入input ,请确保input在单引号或双引号之间(即'pencil' )。 例如,如果输入'pencil' ,则应获得以下输出:

Yes, the item is in the bag

而如果输入'ruler'作为输入,则会得到以下输出:

Oops, your item seems not to be in the bag

如我们所见,Python再次证明自己是一种编程语言,可以像在此一样轻松地对算法概念进行编程,以处理排序和搜索算法。

了解更多分析及数据抓取可查看:

本文转载自互联网、仅供学习交流,内容版权归原作者所有,如涉作品、版权和其他问题请联系我们删除处理。

特别说明:本文旨在技术交流,请勿将涉及的技术用于非法用途,否则一切后果自负。如果您觉得我们侵犯了您的合法权益,请联系我们予以处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值