组合数据类型练习,英文词频统计实例

  1. 列表实例:由字符串创建一个作业评分列表,做增删改查询统计遍历操作。例如,查询第一个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])

 

 

posted @ 2017-09-20 09:09  五号小黄  阅读(152)  评论(0编辑  收藏  举报