鱼C论坛

 找回密码
 立即注册
查看: 1780|回复: 3

[已解决]为什么最后把2插到最后一个数?

[复制链接]
发表于 2020-10-28 12:22:13 | 显示全部楼层 |阅读模式

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

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

x
a = []
for n in range(2,100):
        for x in range(2,int(n/2+1)):
                if n % x == 0:
                    break
        else:
            a.insert(-1,n)
'为什么最后会把2插入到列表的最后一个数?'
最佳答案
2020-10-28 12:35:25
本帖最后由 LuLD 于 2020-10-28 12:38 编辑

因为 insert(-1,str)
加在了 列表的  -1 的位置,那么原本的 -1位置上的 元素就会后移一位

这样看上去就好像是加在了 倒数第二位上

所以 ,在你的列表中添加的第一个数字是 2 ,这样第一个数字就会一直排在最后一位

v2-5823131a0b04202c2f4ad710b2e03e21_720w.jpg

你可以 再设置一个int 类型的变量,每次添加后,自增1

int i
a.insert(i,n)
i+=1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-10-28 12:35:17 | 显示全部楼层
>>> a
[3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 2]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-28 12:35:25 | 显示全部楼层    本楼为最佳答案   
本帖最后由 LuLD 于 2020-10-28 12:38 编辑

因为 insert(-1,str)
加在了 列表的  -1 的位置,那么原本的 -1位置上的 元素就会后移一位

这样看上去就好像是加在了 倒数第二位上

所以 ,在你的列表中添加的第一个数字是 2 ,这样第一个数字就会一直排在最后一位

v2-5823131a0b04202c2f4ad710b2e03e21_720w.jpg

你可以 再设置一个int 类型的变量,每次添加后,自增1

int i
a.insert(i,n)
i+=1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-10-28 12:40:24 | 显示全部楼层
LuLD 发表于 2020-10-28 12:35
因为 insert(-1,str)
加在了 列表的  -1 的位置,那么原本的 -1位置上的 元素就会后移一位

明白了,感谢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-18 04:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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