鱼C论坛

 找回密码
 立即注册
查看: 1815|回复: 3

暴力搜寻法,这个实在没看明白,哪位大侠指点一下,多谢

[复制链接]
发表于 2022-6-1 16:27:45 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
我们知道,列表的 index() 方法可以找到第一个匹配元素的下标,那么你有没有办法在不改变原列表的情况下,找到最后一个匹配元素的下标呢?
for循环里面是咋想的,实在没看明白。

nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 8, 8, 5, 6, 3, 2, 1, 2]
count = nums.count(1)
length = len(nums)
for each in range(length):
    if nums[each] == 1:
         count -= 1
    if count == 0:
        print(each)
        break



15
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-6-1 16:48:18 | 显示全部楼层


这里代码,count 用于统计一个列表中有多少元素,for 循环遍历列表索引,从 0 ~ 列表总长度 - 1

每当 for 循环找到一个元素,那么就将列表未找到的元素 count -1,当 count 等于 0 时,说明就是最后一个元素

那么此时就可以退出循环,for 循环最后遍历到的 each 值就是该元素最后一次出现的索引位置

也可以将列表倒过来查找元素,查找到的元素索引值为列表长度 - (倒叙后索引 + 1),参考代码:
nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 8, 8, 5, 6, 3, 2, 1, 2]
temp = nums[::-1]
idx = len(nums) - (temp.index(1) + 1)
print(idx)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-6-1 17:09:25 | 显示全部楼层
Twilight6 发表于 2022-6-1 16:48
这里代码,count 用于统计一个列表中有多少元素,for 循环遍历列表索引,从 0 ~ 列表总长度 - 1

每 ...

非常感谢,现在不崇拜小甲鱼,崇拜你了,哈哈
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-6-1 17:23:45 | 显示全部楼层
shaohu 发表于 2022-6-1 17:09
非常感谢,现在不崇拜小甲鱼,崇拜你了,哈哈



噗,不敢当,甲鱼哥是我们共同的老师,我也是甲鱼哥教出来滴

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-8 04:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表