鱼C论坛

 找回密码
 立即注册
查看: 3208|回复: 0

[学习笔记] 027集合:在我的世界里,你就是唯一

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

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

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

x
1.集合:在python3里面用花括号括起一堆数字,但是这堆数字没有体现映射关系,那么这堆数字就是集合
  1. >>> num = {}
  2. >>> type(num)
  3. <class 'dict'>
  4. >>> num2 = {1, 2, 3, 4, 5}
  5. >>> type(num2)
  6. <class 'set'>
复制代码

2.集合的唯一性,集合里所有的元素都是唯一的!
  1. >>> num2 = {1, 2, 3, 4, 5, 5, 4, 3, 2}
  2. >>> num2
  3. {1, 2, 3, 4, 5}
复制代码

3.集合的无序性,集合里所有的元素都是无序的!
  1. >>> num2[2]
  2. Traceback (most recent call last):
  3.   File "<pyshell#8>", line 1, in <module>
  4.     num2[2]
  5. TypeError: 'set' object does not support indexing
复制代码

4.创建集合
1)直接把一堆元素用花括号括起来
  1. >>> num2 = {1, 2, 3, 4, 5,}
  2. >>> num2
  3. {1, 2, 3, 4, 5}
复制代码

2)使用set()工厂函数
  1. >>> set1 = set([1, 2, 3, 4, 5, 5])
  2. >>> set1
  3. {1, 2, 3, 4, 5}
复制代码

5.去掉列表中重复的元素
  1. >>> num1 = [1, 2, 3, 4, 5, 5, 3, 1, 0]
  2. >>> temp = []
  3. >>> for each in num1:
  4.         if each not in temp:
  5.                 temp.append(each)

  6.                
  7. >>> temp
  8. [1, 2, 3, 4, 5, 0]
  9. >>> num1 = list(set(num1))
  10. >>> num1
  11. [0, 1, 2, 3, 4, 5]
复制代码

6.访问集合中的值
  1. >>> num2
  2. {1, 2, 3, 4, 5}
  3. >>> 1 in num2
  4. True
  5. >>> '1' in num2
  6. False
复制代码

7.增加集合中的值
  1. >>> num2
  2. {1, 2, 3, 4, 5}
  3. >>> num2.add(6)
  4. >>> num2
  5. {1, 2, 3, 4, 5, 6}
复制代码

8.移除集合中的值
  1. >>> num2.remove(5)
  2. >>> num2
  3. {1, 2, 3, 4, 6}
复制代码

9.不可变集合——frozenset
  1. >>> num3 = frozenset([1, 2, 3, 4, 5])
  2. >>> num3.add(0)
  3. Traceback (most recent call last):
  4.   File "<pyshell#30>", line 1, in <module>
  5.     num3.add(0)
  6. AttributeError: 'frozenset' object has no attribute 'add'
复制代码

评分

参与人数 1鱼币 +5 收起 理由
小甲鱼 + 5 支持楼主!

查看全部评分

本帖被以下淘专辑推荐:

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-28 18:46

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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