列表操作应用

找出列表中指定数值

不使用index()这个函数时,也可以用一个循环来找出指定元素的位置,传统的查找方式如下 :

lst = [1, 4, 7, 10, 23, 45, 67, 88]
target = int(input("请输入你要找的数字: "))
found = False
for i , number in enumerate(lst):
    if number == target:
        print("你要找的数字{}在数列中!".format(target))
        print("数字{}在数列第{}个位置上".format(target, i))
        found = True
        break
if not found:
    print("你要找的数字{}并不在数列中!".format(target))
请输入你要找的数字: 88
你要找的数字88在数列中!
数字88在数列第7个位置上      

在这个程序中使用枚举enumerate()函数来逐一取出lst列表中的每一个元素并加上该元素相对应的索引值,每一个元素都和目标值target进行对比,如果找到了,就打印出该数字以及该数字所在的位置,接着设置found 变量为true, 并用break语句中断循环来执行。
在离开循环时,使用if 检查found这个变量是否为True,如果是,邮件里表示循环运行了一遍之后没有找到指定的数九寒天,此时就要显示信息说明指定的数九数字并不存在于数列中。
此种方式是以顺序的方式逐一寻找目标数列中的数字,最好的情况是每一次就找到了,最差的情况则是在所有的数字都找过一遍之后仍然找不到。所以,如果列表中有n个元素,则平均查找的次数应该是(n+1)/2次。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值