鱼C论坛

 找回密码
 立即注册
查看: 219|回复: 8

[已解决]第十四课:字符串

[复制链接]
发表于 2025-4-29 21:15:05 | 显示全部楼层 |阅读模式

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

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

x
str1 = 'i2sl54ovvvb4e3bferi32s56h;$c43.sfc67o0cm99'
str1[::3]
'ilovefishc.com'
不理解为什么
请求帮忙
最佳答案
2025-4-29 23:17:13
字符串切片是使用[start:end:step]这样的格式。这里的start和end如果省略的话,默认是0和字符串的长度。而step参数是步长,也就是每隔多少个字符取一个。例如,如果step是2,那么每隔一个字符取一个。这里的step是3,所以是每隔两个字符取一个。
str1[::3]表示对字符串str1进行切片操作。具体含义如下:
第一个冒号::省略起始索引,默认为0(从字符串开头开始)。
第二个冒号::省略结束索引,默认为字符串末尾。
步长3。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2025-4-29 21:16:15 | 显示全部楼层
解答:字符串过滤原理

根据提供的代码和输出结果,推测存在一个隐藏的过滤过程(代码未完整展示)。原始字符串通过某种规则过滤后得到 'ilovefishc.com',具体逻辑可能是:

  • 过滤所有数字(0-9)
  • 过滤特殊符号(如 $;
  • 保留字母和英文句点 .


原始字符串处理过程示例:

  1. 原始字符串:i2sl54ovvvb4e3bferi32s56h;$c43.sfc67o0cm99
  2. 过滤后结果:i s l o v v v b e b f e r i s h c . s f c o c m
  3. 最终整理:ilovefishc.com
复制代码


实现代码可能是这样:

  1. str1 = 'i2sl54ovvvb4e3bferi32s56h;$c43.sfc67o0cm99'
  2. result = ''.join([c for c in str1 if c.isalpha() or c == '.'])
  3. print(result)  # 输出:ilovvvbebferishcsfcocm
  4. # 需额外处理重复字符(如vvv→v)
复制代码


建议检查原始代码是否漏掉了字符替换或去重步骤。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-4-29 21:26:49 | 显示全部楼层
FishC 发表于 2025-4-29 21:16
解答:字符串过滤原理

根据提供的代码和输出结果,推测存在一个隐藏的过滤过程(代码未完整展示)。原始 ...

不理解,为什么是  str1[::3] 啊   [:3]  我知道是0--3字符的意思两个   :    :    我就搞不懂了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-4-29 21:58:09 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-4-29 23:17:13 | 显示全部楼层    本楼为最佳答案   
字符串切片是使用[start:end:step]这样的格式。这里的start和end如果省略的话,默认是0和字符串的长度。而step参数是步长,也就是每隔多少个字符取一个。例如,如果step是2,那么每隔一个字符取一个。这里的step是3,所以是每隔两个字符取一个。
str1[::3]表示对字符串str1进行切片操作。具体含义如下:
第一个冒号::省略起始索引,默认为0(从字符串开头开始)。
第二个冒号::省略结束索引,默认为字符串末尾。
步长3。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-4-30 13:34:02 | 显示全部楼层
  1. str1[::3]
复制代码

        就是
  1. str1[0 : len(str1) : 3]
复制代码

        循环遍历 str1 的每一个元素,并抽取索引为 3 的倍数的所有元素,构成一个新的字符串。

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2025-5-1 17:36:01 | 显示全部楼层
jackz007 发表于 2025-4-30 13:34
就是

        循环遍历 str1 的每一个元素,并抽取索引为 3 的倍数的所有元素,构成一个新的 ...

谢谢,谢谢哥
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-5-1 17:36:32 | 显示全部楼层
ydwb 发表于 2025-4-29 23:17
字符串切片是使用[start:end:step]这样的格式。这里的start和end如果省略的话,默认是0和字符串的长度。而s ...

谢谢,谢谢哥,您的解释很通透我明白了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-5-1 17:38:19 | 显示全部楼层
player-none 发表于 2025-4-29 21:58
https://fishc.com.cn/forum.php?mod=redirect&goto=findpost&ptid=250103&pid=6659655

哥,你这个我看到了,麻烦您了我明白这个运行的原因了,感谢您追到这里来了,跨了两个提问题才呢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-25 23:59

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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