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


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

  • 相关阅读:
    【bzoj4318】OSU!
    【bzoj2134】单选错位
    【UVa11584】划分成回文串
    Load a map with proxy
    2012南大GIS专业课试题
    引用webmap时如何填写username 和 password
    使用Visifire+ArcGIS API for Silverlight实现Graphic信息的动态图表显示
    填空题
    专业课知识
    Add a web map dynamically
  • 原文地址:https://www.cnblogs.com/millmill/p/7559762.html
Copyright © 2020-2023  润新知