作业五:复合数据类型,英文词频统计
复合数据类型,英文词频统计
作业要求来自于https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2696
1.列表,元组,字典,集合的增删改查及遍历
操作 | 方法 | 示例 |
增加 |
list.append(obj) 增加元素到末尾 |
list=['Michael','Bob','Tracy','李三','Tracy','Sarah'] list.append('张四') print(list) |
list.insert(index, obj) 增加元素到指定位置 |
list=['Michael','Bob','Tracy','李三','Tracy','Sarah'] list.insert(1,'Jack') print(list) |
|
list.extend(list2) 将list2列表中的元素增加到list中 |
list=['Michael','Bob','Tracy','李三','Tracy','Sarah'] list2=['张四','Jack'] list.extend(list2) print(list) |
|
删除 |
list.pop(index) 删除指定位置的元素 list.pop() 删除最后一个元素 |
list=['Michael','Bob','Tracy','李三','Tracy','Sarah'] list2=['张四','Jack'] list.pop(1) list2.pop() print(list,list2) |
修改 |
list[index]=obj 修改指定位置的元素 |
list[]=obj
|
查询
|
list[index] 通过下标索引,从0开始 |
list=['Michael','Bob','Tracy','李三','Tracy','Sarah'] print(list[2]) |
list[a:b] 切片,从哪里到哪里 |
list=['Michael','Bob','Tracy','李三','Tracy','Sarah'] print(list[1:4]) |
|
遍历 |
for x in list |
list=['Michael','Bob','Tracy','李三','Tracy','Sarah'] for x in list: print(x, end=",") |
for i in range(len(list)) |
list=['Michael','Bob','Tracy','李三','Tracy','Sarah'] for i in range(len(list)): print("序号:", i, " 值:", list[i]) |
|
for i,val in enumerate(list) |
list=['Michael','Bob','Tracy','李三','Tracy','Sarah'] for i, val in enumerate(list): print("序号:", i, " 值:", val)
|
|
for i in list |
list=['Michael','Bob','Tracy','李三','Tracy','Sarah'] for i in list: idx = list.index(i) # 索引 if (idx < len(list) - 1): print(i, '---------', list[idx + 1])
|
操作 | 方法 | 示例 |
增加 |
tup=tup1+tup2 元组不支持修改,但可以通过连接组合的方式进行增加 |
tup1=('Michael','Bob','Tracy','李三','Tracy','Sarah') tup2=('张四','Jack') tup=tup1+tup2 print(tup) |
删除 |
del tup 元组不支持单个元素删除,但可以删除整个元组 |
del tup
|
修改 |
tup[index]=obj 修改指定位置的元素 元组和列表转换 |
tup[index]=obj
|
查询
|
tup[index] 通过下标索引,从0开始 |
tup[index]
|
tup[a:b] 切片,顾头不顾尾 |
tup[a:b]
|
|
遍历 |
for x in (tup) |
for x in (tup)
|
操作 | 方法 | 示例 |
增加 |
dict[key]=value 通过赋值的方法增加元素 |
dict[key]
|
删除 |
del dict[key] 删除单一元素,通过key来指定删除 |
del dict[]
|
dict.pop(key) 删除单一元素,通过key来指定删除 |
dict.pop()
|
|
修改 |
dict[key]=value 通过对已有的key重新赋值的方法修改 |
dict[key]=value
|
查询
|
dict[key] 通过key访问value值 |
dict[key]
|
dict.items() 以列表返回可遍历的(键, 值) 元组数组 |
dict.items()
|
|
dict.keys() 以列表返回一个字典所有键值 dict.values() 以列表返回一个字典所有值 |
dict.keys(),dict.values()
|
|
dict.get(key) 返回指定key的对应字典值,没有返回none |
dict.get()
|
|
遍历 |
for key in dict.keys() |
for key in dict.keys()
|
for val in dict.values() |
for val in dict.values()
|
|
for key,val in dict.items() |
for key, val in dict.items()
|
操作 | 方法 | 示例 |
增加 |
s.add(obj) 在集合s中添加对象obj |
s.add()
|
删除 |
s.remove(obj) 从集合s中删除对象obj |
s.remove()
|
修改 |
s[index]=obj 修改指定位置的元素 集合和列表转换 |
s[index]=obj
|
遍历 | for x in s |
for x in s
|
2.总结列表,元组,字典,集合的联系与区别
(1)列表
- 列表list,用中括号“[ ]”表示
- 列表是一组任意类型的值,按照一定顺序组合而成的
- 可以随时添加删除修改其中的元素
- 元素可重复
- 存储时每一个元素被标识一个索引,每当引用时,会将这个引用指向一个对象,所以程序只需处理对象的操作
(2)元组
- 元组tuple,用小括号“( )”表示
- 与列表相同,有序
- 一旦初始化就不能修改
- 元素可重复
- 与列表相似,元组是对象引用的数组
(3)字典
- 字典dict,用大括号“{key,value}”表示
- 字典中的项没有特定顺序,以“键”为象征
- 因为是无序,故不能进行序列操作,但可以在远处修改,通过键映射到值
- key不能重复
- 字典存储的是对象引用,不是拷贝,和列表一样
(4)集合
- 集合set,用小括号“( )”表示
- 无序
- 可变,可以添加和删除元素
- 无重复
- 与列表相似
3.词频统计
结果如下图:
词云如下图: