鱼C论坛

 找回密码
 立即注册
查看: 2412|回复: 6

set()函数判重问题

[复制链接]
发表于 2017-7-21 22:42:45 | 显示全部楼层 |阅读模式

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

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

x
  1. s = set()
  2. # for i in [{"test":124},{1:12124}]:
  3. # for i in [[1,2,3],[53553,345]]:
  4. # for i in [1,2,53,45]:
  5. # for i in [(1,2),(242,46)]:
  6. for i in ["tedd","ttwe"]:
  7.   if i not in s:
  8.     print(i)
  9.     s.add(i)
  10. print(s)
复制代码


代码中分别用了字典,列表,int,元祖,字符串来作为集合的判断元素,然后字典和列表都是会报错的
查了一下网上的说法,似乎可以理解为******因为字典和列表是会在后续的操作中动态变动的,所有不能这样用******
我这个理解是对的么?
然后,既然字典和列表无法用这种方式来判重,那我应该如何判重呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-7-21 23:00:36 | 显示全部楼层
搞不懂你想表达什么,你直接把出错的代码放上来
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-7-21 23:05:17 | 显示全部楼层
ba21 发表于 2017-7-21 23:00
搞不懂你想表达什么,你直接把出错的代码放上来

你看不懂我在说什么说明你看不到这段代码在干嘛
自己把代码拿去试试就知道了,注释都是测试用的,自己取消注释
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-21 23:13:22 | 显示全部楼层
gopythoner 发表于 2017-7-21 23:05
你看不懂我在说什么说明你看不到这段代码在干嘛
自己把代码拿去试试就知道了,注释都是测试用的,自己取 ...

都取消还能正常????你自己试好了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-7-21 23:15:36 | 显示全部楼层
是一条一条的取消,这是一个测试用的代码,你看不懂?
比如我要测试字典,就打开字典的测试
  1. s = set()
  2. for i in [{"test":124},{1:12124}]:
  3. # for i in [[1,2,3],[53553,345]]:
  4. # for i in [1,2,53,45]:
  5. # for i in [(1,2),(242,46)]:
  6. # for i in ["tedd","ttwe"]:
  7.   if i not in s:
  8.     print(i)
  9.     s.add(i)
  10. print(s)
复制代码

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

使用道具 举报

发表于 2017-7-21 23:36:39 | 显示全部楼层
  1. s = set()
  2. for i in [{"test":124},{1:12124}]:
  3. # for i in [[1,2,3],[53553,345]]:
  4. # for i in [1,2,53,45]:
  5. # for i in [(1,2),(242,46)]:
  6. # for i in ["tedd","ttwe"]:
  7.     s2=list(i.keys())
  8.     for i in s2:
  9.         if i not in s:
  10.             print(i)
  11.             s.add(i)
  12. print(s)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-22 11:39:47 | 显示全部楼层
列表的话,可以转化成元组。
tuple(list)

字典的话,怎么样才是重复的字典呢?如果键一样就是重复tuple(dict.keys()),如果值一样就tuple(dict.values())
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-26 10:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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