鱼C论坛

 找回密码
 立即注册
查看: 1171|回复: 14

[已解决]关于str.insert

[复制链接]
发表于 2020-6-29 00:37:20 From FishC Mobile | 显示全部楼层 |阅读模式

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

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

x
把string颠倒,我这样写错了吗
最佳答案
2020-6-29 08:52:50
tiger吴 发表于 2020-6-29 08:48
纳里,不太懂,
按你的说法就是python判断位置的方法很死板
for第一次c=[a]



这个就是规矩,你只要记着 insert 是插入那个位置参数,而在那个位置之后的其他的参数会被往后推

程序就是这样,总有些规定死的东西,你说的蛮形象生动的,抢字用的有点好 哈哈哈


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

使用道具 举报

发表于 2020-6-29 02:16:38 From FishC Mobile | 显示全部楼层
是不是缩进问题?最后一行缩进删了试试?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-29 02:21:33 From FishC Mobile | 显示全部楼层
另外要颠倒字符串应该可以先将字符串list,然后再把步长设为-1从尾到头排序或者直接用reverse方法,最后再把字符列表合并成字符串
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-29 04:11:18 From FishC Mobile | 显示全部楼层
WindRoa 发表于 2020-6-29 02:16
是不是缩进问题?最后一行缩进删了试试?

感觉代码这种方法写应该没错,但是测试出来的结果很懵逼,你测试的和我也是一样吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-29 08:00:23 | 显示全部楼层
tiger吴 发表于 2020-6-29 04:11
感觉代码这种方法写应该没错,但是测试出来的结果很懵逼,你测试的和我也是一样吗

逻辑对,代码缩进错了,正确的如下
print("This is console module")

a = 'abcd'
c = []
for each in a:
    c.insert(-1,each)
print(c)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-29 08:01:40 | 显示全部楼层
逻辑不对,楼上都说错了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-29 08:29:00 | 显示全部楼层
本帖最后由 Twilight6 于 2020-6-29 08:30 编辑




你理解了 insert 正数索引插入时候的情况  就能知道这里是为什么了,举些例子:
>>> a = [1,1,1,1,1,1,1]
>>> a.insert(1,8)    # 向位置参数 1 插入一个 8
>>> a
[1,8,1,1,1,1,1,1]   # 会发现 8 传入后把之前的所在 1 的位置参数往后移动了,而不是往前

从这里可以看出来 insert 是插入指定位置参数后,原来的位置参数的元素都是往后移动的,而不是往前

所以你这里插入负数索引时候 导致将原来位置参数上的元素往后移动,所以才导致了这种结果


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

使用道具 举报

 楼主| 发表于 2020-6-29 08:48:06 From FishC Mobile | 显示全部楼层
Twilight6 发表于 2020-6-29 08:29
你理解了 insert 正数索引插入时候的情况  就能知道这里是为什么了,举些例子:



纳里,不太懂,
按你的说法就是python判断位置的方法很死板
for第一次c=[a]
a的位置是-1,后面的插入都是抢a的位置,而没有去重新判断-1在哪儿?按这个逻辑打印的结论正确,但是python就太智障了吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-29 08:52:50 | 显示全部楼层    本楼为最佳答案   
tiger吴 发表于 2020-6-29 08:48
纳里,不太懂,
按你的说法就是python判断位置的方法很死板
for第一次c=[a]



这个就是规矩,你只要记着 insert 是插入那个位置参数,而在那个位置之后的其他的参数会被往后推

程序就是这样,总有些规定死的东西,你说的蛮形象生动的,抢字用的有点好 哈哈哈


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

使用道具 举报

 楼主| 发表于 2020-6-29 08:54:57 From FishC Mobile | 显示全部楼层
Twilight6 发表于 2020-6-29 08:52
这个就是规矩,你只要记着 insert 是插入那个位置参数,而在那个位置之后的其他的参数会被往后推

...

看来作者需要改进啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-29 08:55:39 From FishC Mobile | 显示全部楼层
Twilight6 发表于 2020-6-29 08:52
这个就是规矩,你只要记着 insert 是插入那个位置参数,而在那个位置之后的其他的参数会被往后推

...

这种不合常理的东西好容易忘记
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-29 08:55:54 | 显示全部楼层
tiger吴 发表于 2020-6-29 08:54
看来作者需要改进啊

哈哈哈    不够人性化,不过存在即合理,可能是我们还没涉及这些奇葩的用法
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-29 08:57:03 | 显示全部楼层
tiger吴 发表于 2020-6-29 08:55
这种不合常理的东西好容易忘记

同意....我也经常忘,但是多亏我来论坛答题,经常巩固了许多细节的小知识
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-29 09:02:12 From FishC Mobile | 显示全部楼层
Twilight6 发表于 2020-6-29 08:57
同意....我也经常忘,但是多亏我来论坛答题,经常巩固了许多细节的小知识

我已经脑补出来一个画面了,
一个程序员打完一大段代码,运行起来其中一行报错了,然后无论怎么看都觉得是对的,程序却一直报错,此猿头发开始慢慢脱落…
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-29 09:03:20 | 显示全部楼层
tiger吴 发表于 2020-6-29 09:02
我已经脑补出来一个画面了,
一个程序员打完一大段代码,运行起来其中一行报错了,然后无论怎么看都觉得 ...



哈哈哈哈哈哈,很有画面感
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-20 07:10

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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