鱼C论坛

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

[已解决]集合去掉重复元素

[复制链接]
发表于 2017-5-11 16:41:11 | 显示全部楼层 |阅读模式

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

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

x
num1 = [1,2,3,4,2,3,6,7,2]
temp = []

for each in num1:
    if each not in temp:
         temp.append(each)

去掉num1中重复的元素,为什么上面的程序报错了呢?
最佳答案
2017-5-11 20:13:54

刚刚看到 jerryxjr1220 说从3.6开始字典是有序的了,我想集合也是这样的。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-5-11 16:50:54 | 显示全部楼层
有什么错误提示?我试了,可以的。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-5-11 17:13:22 | 显示全部楼层
冬雪雪冬 发表于 2017-5-11 16:50
有什么错误提示?我试了,可以的。

刚刚试了一下又可以了,麻烦了!
不过还有一个问题能不能麻烦版主解惑?
Python3 中 字典,集合都是无序的,像字典的popitem()方法和集合的pop()方法应该都是弹出随机的项或者元素,为什么我试了很多次,字典都是弹出最后一项,集合都是弹出第一项呢?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-11 17:24:37 | 显示全部楼层
邵小宝 发表于 2017-5-11 17:13
刚刚试了一下又可以了,麻烦了!
不过还有一个问题能不能麻烦版主解惑?
Python3 中 字典,集合都是无 ...

我对构成集合和字典的hash表机制不太了解,按说是无序的。我也测试了,的确弹出是固定的,我也百思不得其解。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-11 18:33:48 | 显示全部楼层
本帖最后由 anuo 于 2017-5-11 18:40 编辑

楼主的例子不是集合,是list列表。
集合是set 用{}表示。
集合里面的元素是不可重复的,所以楼主也可以这样解决
list(set(num1))


在list里面,如果没有指定pop的参数,则弹出最后一位。
字典应该是随机弹去的,因为字典是无序的,而list是有index的。

同是新手,仅供参考。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-11 20:09:53 | 显示全部楼层
冬雪雪冬 发表于 2017-5-11 17:24
我对构成集合和字典的hash表机制不太了解,按说是无序的。我也测试了,的确弹出是固定的,我也百思不得其 ...

这个跟Python设定有关吧
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-11 20:13:54 | 显示全部楼层    本楼为最佳答案   

刚刚看到 jerryxjr1220 说从3.6开始字典是有序的了,我想集合也是这样的。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-5-12 10:31:53 | 显示全部楼层
冬雪雪冬 发表于 2017-5-11 20:13
刚刚看到 jerryxjr1220 说从3.6开始字典是有序的了,我想集合也是这样的。

哦哦,原来如此!感谢感谢!!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-5-12 10:33:13 | 显示全部楼层
anuo 发表于 2017-5-11 18:33
楼主的例子不是集合,是list列表。
集合是set 用{}表示。
集合里面的元素是不可重复的,所以楼主也可以这 ...

嗯嗯,第一种方式我用了的,就是不知道为什么我上面写出的程序会有问题,不过后来还是运行出来啦。
谢谢啦~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-27 11:19

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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