shaohu 发表于 2022-6-1 16:27:45

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

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

nums =
count = nums.count(1)
length = len(nums)
for each in range(length):
    if nums == 1:
         count -= 1
    if count == 0:
      print(each)
      break



15

Twilight6 发表于 2022-6-1 16:48:18



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

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

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

也可以将列表倒过来查找元素,查找到的元素索引值为列表长度 - (倒叙后索引 + 1),参考代码:

nums =
temp = nums[::-1]
idx = len(nums) - (temp.index(1) + 1)
print(idx)

shaohu 发表于 2022-6-1 17:09:25

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

每 ...

非常感谢,现在不崇拜小甲鱼,崇拜你了,哈哈

Twilight6 发表于 2022-6-1 17:23:45

shaohu 发表于 2022-6-1 17:09
非常感谢,现在不崇拜小甲鱼,崇拜你了,哈哈



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

页: [1]
查看完整版本: 暴力搜寻法,这个实在没看明白,哪位大侠指点一下,多谢