rfind()和find()
<font color="red">[已解决]</font>rfind()和find()的差别https://fishc.com.cn/thread-118030-1-1.html
(出处: 鱼C论坛)
看到原贴我明白了find和rfind的区别,但是我想问如果想从右向左查找,第一位是0然后向左一个是-1、-2、-3……这样可以用什么bif吗?之前理解错的从右向左就是这样理解的 本帖最后由 Twilight6 于 2020-6-14 14:56 编辑
但是我想问如果想从右向左查找,第一位是0然后向左一个是-1、-2、-3
你理解错了
从右向左的索引值如果是负数索引是从 -1 开始 而不是 0 开始
正从右向左的正数索引是 len(self)-1 ~ 0
0 开始是正数索引的从左向右哦~
还有就是你的问题有点看不懂,能再解释解释不?
是这样的
比如
"hsaahjxc".rfind("h")
就是先从右往左
先看 c 不对
再看 x 不对
再看 j 不对
最后看 h 对啦{:10_298:},所以最后返回 第 4 的(其实是第五个,只不过列表是从 0 开始的) liuzhengyuan 发表于 2020-6-14 18:41
是这样的
比如
"hsaahjxc".rfind("h")
谢谢哒,我理解,比如:
"hsaasssshjxc".rfind("h")
因为是从右边开始找的所以返回的是8
但我想问,有没有是那种从右边开始数,返回值也是从右边数的?
比如:
"hsaasssshjxc".XXX("h")
3 Twilight6 发表于 2020-6-14 14:52
你理解错了
从右向左的索引值如果是负数索引是从 -1 开始 而不是 0 开始
就是说右边第一位是-1?涨姿势了
但我想问,有没有是那种从右边开始数,返回值也是从右边数的?
比如:
"hsaasssshjxc".XXX("h")
从右边开始数如果c是-1 那x是-2j是-3h是-4 ,有没有这种函数是返回-4的
Arcticfoxer 发表于 2020-6-16 01:27
就是说右边第一位是-1?涨姿势了
但我想问,有没有是那种从右边开始数,返回值也是从右边数的?
应该没有,不管是find 和 index 都是返回原列表的正索引
而且变负数没什么意义,位置参数都是同样的
Arcticfoxer 发表于 2020-6-16 01:24
谢谢哒,我理解,比如:
"hsaasssshjxc".rfind("h")
因为是从右边开始找的所以返回的是8
你可以len() 和 rfind 配合做出反着数的效果
页:
[1]