cxg1482 发表于 2017-9-21 08:55:48

关于Python课后作业还原有意义的字符串的疑惑

Python课后作业中是如何将str1 = 'i2sl54ovvvb4e3bferi32s56h;$c43.sfc67o0cm99'还原为str1[::3]的,不解

冬雪雪冬 发表于 2017-9-21 09:26:15

从头到尾隔3个取1个字符。

cxg1482 发表于 2017-9-21 09:32:58

冬雪雪冬 发表于 2017-9-21 09:26
从头到尾隔3个取1个字符。

隔三取一我是知道,怎么会对应这种代码的,确实不懂

冬雪雪冬 发表于 2017-9-21 09:39:46

你是对[::3]的格式不懂还是如何取字符不懂?

cxg1482 发表于 2017-9-21 10:35:16

冬雪雪冬 发表于 2017-9-21 09:39
你是对[::3]的格式不懂还是如何取字符不懂?

如何取得这样的字符不懂

冬雪雪冬 发表于 2017-9-21 10:47:08

cxg1482 发表于 2017-9-21 10:35
如何取得这样的字符不懂

第0个是i
第三个是l
第六个是o
以此类推

cxg1482 发表于 2017-9-22 10:19:06

冬雪雪冬 发表于 2017-9-21 10:47
第0个是i
第三个是l
第六个是o


i与l之间的2s是什么意思?

冬雪雪冬 发表于 2017-9-22 11:07:57

cxg1482 发表于 2017-9-22 10:19
i与l之间的2s是什么意思?

是原字符串中的,但在[::3]中被忽略掉

cxg1482 发表于 2017-9-22 11:28:10

冬雪雪冬 发表于 2017-9-22 11:07
是原字符串中的,但在[::3]中被忽略掉

还是不懂,是我太菜了,不过谢谢你

古堡主人。 发表于 2017-9-22 17:47:26

cxg1482 发表于 2017-9-22 11:28
还是不懂,是我太菜了,不过谢谢你

来个详细的解释吧:
str1 = 'i2sl54ovvvb4e3bferi32s56h;$c43.sfc67o0cm99'还原为str1[::3]
str1 可以看成一个列表,第0个表示‘i’,第1个表示‘2’,第2个表示‘s’

如str1就输出‘i’字符
str1输出从0开始到第2-1个的所有字符那就是‘i2’
str1表示从A开始到第B-1的所有字符
那么str1[::3]就表示从左边到头直到右边到头每隔3个取一个 那肯定是 ilo等
str1[:]把A省略表示左边到头就是从0开始,把B省略表示右边到头就是直到最后一个字符9,也就是输出所有字符
str1表示从A开始每隔C个取一个直到超过B
那么

cxg1482 发表于 2017-10-10 08:51:07

古堡主人。 发表于 2017-9-22 17:47
来个详细的解释吧:
str1 = 'i2sl54ovvvb4e3bferi32s56h;$c43.sfc67o0cm99'还原为str1[::3]
str1 可 ...

那就应该是前提得存在一个str1的列表啊,定义一个str1的初始值,不能一上来就str1 = 'i2sl54ovvvb4e3bferi32s56h;$c43.sfc67o0cm99'然后如何得出str1[::3],估计是我太菜鸟了,需要理解的东西还很多
页: [1]
查看完整版本: 关于Python课后作业还原有意义的字符串的疑惑