集合(无序不重复数列)
集合的创建
- 使用大括号 { } 或者 set() 函数创建集合;
- 注意:
- 创建一个空集合必须用 set() 而不是 { }
- { } 是用来创建一个空字典。
- 示例:
对集合内容的添加
- add() 添加单个元素
- update() 添加多个元素
- 示例
对集合的内容进行删除
- remove() 移除集合内的指定元素
- pop() 随机移除集合内的某个元素
- clear() 移除集合中的所有元素
- 示例:
- 对两个集合求交集和并集
- & 交集
- | 并集
- 示例 注:不支持重复和连接,也不支持索引和切片,支持成员操作符和for循环
字典(由多个key-value键值对组成的数据集)
特性:不支持重复和连接,也不支持索引和切片,支持成员操作符和for循环
字典的创建
- 空字典 {}
- 书写格式
{key1:value, key2:value2, …}
字典生成式:d = {i:i.upper() for i in 'abcde'}
- 示例
对字典内容的更新或者添加
d[key]='value'
直接对字典里的指定Key更新, 如果key不存在则会添加该键值对- update() 对字典中的多个键值对进行操作
- 示例
对字典内容的查看
- keys()查看字典中所有的key值
- values()查看字典中所有的value值
- items()查看字典中所有的键值对
d['key']
查看字典中指定Key值对应的value值- 示例
对字典内容删除
- pop(key) 对指定的key值删除,会返回删除的key值
- clear() 将字典清空
- 示例
实例
-
明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从大到小排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作(同一个测试用例里可能会有多组数据,希望大家能正确处理)。
代码:
import random N = int(input('随机生成数的个数:')) item = [random.randint(1, 1000) for i in range(N)] item = set(item) item = sorted(item) print(item[::-1]) # 用切片的方法实现降序,也可以用sorted函数实现降序item = sorted(item, reverse=True)
测试:
-
写一个函数wordcount统计一篇文章的每个单词出现的次数(词频统计)。统计完成后,对该统计按单词频次进行排序。
代码:Word = input('WORD:') Word_sum = {} for i in Word.split(): if i in Word_sum: Word_sum[i] += 1 # 通过key获得对应的values else: Word_sum.update({i: 1}) else: print(Word_sum)
测试: