组合数据类型练习,英文词频统计实例
- 列表实例:由字符串创建一个作业评分列表,做增删改查询统计遍历操作。例如,查询第一个3分的下标,统计1分的同学有多少个,3分的同学有多少个等。
>>> a=list('1123231132213') >>> a ['1', '1', '2', '3', '2', '3', '1', '1', '3', '2', '2', '1', '3'] >>> a[3]='4' >>> a ['1', '1', '2', '4', '2', '3', '1', '1', '3', '2', '2', '1', '3'] >>> a.index('3') 5 >>> a.append('5') >>> a ['1', '1', '2', '4', '2', '3', '1', '1', '3', '2', '2', '1', '3', '5'] >>> a.pop(-3) '1' >>> a ['1', '1', '2', '4', '2', '3', '1', '1', '3', '2', '2', '3', '5'] >>> len(a) 13 >>> a.insert(1,'hello') >>> a ['1', 'hello', '1', '2', '4', '2', '3', '1', '1', '3', '2', '2', '3', '5']
字典实例:建立学生学号成绩字典,做增删改查遍历操作。
>>> d={'09':'66','05':'80','14':'78','23':'90'} >>> d['14'] '78' >>> d.keys() dict_keys(['09', '05', '14', '23']) >>> d.values() dict_values(['66', '80', '78', '90']) >>> d.items() dict_items([('09', '66'), ('05', '80'), ('14', '78'), ('23', '90')]) >>> d.get('05','66') '80' >>> d.pop('23','80') '90' >>> d {'09': '66', '05': '80', '14': '78'} >>> '04' in d False >>> '05'in d True >>> del(d['09']) >>> d {'05': '80', '14': '78'}
>>> d["02"]="90"
>>> d
{'05': '80', '14': '78', '02': '90'}
列表,元组,字典,集合的遍历。
>>> a=list('1123231132213') >>> b=tuple('1123231132213') >>> d={'09':'66','05':'80','14':'78','23':'90'} >>> s=set('1123231132213') >>> a ['1', '1', '2', '3', '2', '3', '1', '1', '3', '2', '2', '1', '3'] >>> b ('1', '1', '2', '3', '2', '3', '1', '1', '3', '2', '2', '1', '3') >>> d {'09': '66', '05': '80', '14': '78', '23': '90'} >>> s {'1', '3', '2'} >>> for i in a: print(i,end='') 1123231132213 >>> for i in b: print(i,end='') 1123231132213 >>> for i in d: print(i,end='') 09051423 >>> for i in d: print(i,d.values()) 09 dict_values(['66', '80', '78', '90']) 05 dict_values(['66', '80', '78', '90']) 14 dict_values(['66', '80', '78', '90']) 23 dict_values(['66', '80', '78', '90']) >>> for i in s: print(i,end='') SyntaxError: unexpected indent >>> for i in s: print(i,end='') 132 >>>
总结列表,元组,字典,集合的联系与区别。
1.列表,元组,字典是有顺序的,而集合是没顺序的
2.列表是以方括号形式表示,元组是以圆括号表示,字典以花括号表示,集合则是以[()]的形式表示
3.列表是可变对象,它支持在原处修改的操作.也可以通过指定的索引和分片获取元素。区别于元组,可动态增加,删除,更新。
4.元组和列表在结构上没有什么区别,唯一的差异在于元组是只读的,不能修改。元组用“()”表示。元组一旦定义其长度和内容都是固定的。一旦创建元组,则这个元组就不能被修改,即不能对元组进行更新、增加、删除操作。若想创建包含一个元素的元组,则必须在该元素后面加逗号“,”,否则创建的不是一个元组,而是一个字符串。
5.集合没有特殊的表示方法,而是通过一个set函数转换成集合。集合是一个无序不重复元素集,基本功能包括关系测试和消除重复元素.。
6.字典最大的价值是查询,通过键,查找值
字符串txt
分解提取单词
大小写 txt.lower()
分隔符'.,:;?!-_’
计数字典
排除语法型词汇,代词、冠词、连词
排序
list.sort()
news=news.lower() for i in ",.'-": news=news.replace(i,'') words=news.split(' ') keys=set(words) #print(keys) dic={} for i in words: dic[i]=words.count(i) #print(dic) a=list(dic.items()) a.sort(key=lambda x:x[1],reverse=True) #print(a) for i in range(10): print(a[i])