zoukankan      html  css  js  c++  java
  • 组合数据类型练习,英文词频统计实例

    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])

  • 相关阅读:
    HDU 3081 Marriage Match II
    HDU 4292 Food
    HDU 4322 Candy
    HDU 4183 Pahom on Water
    POJ 1966 Cable TV Network
    HDU 3605 Escape
    HDU 3338 Kakuro Extension
    HDU 3572 Task Schedule
    HDU 3998 Sequence
    Burning Midnight Oil
  • 原文地址:https://www.cnblogs.com/millmill/p/7559762.html
Copyright © 2011-2022 走看看