zoukankan      html  css  js  c++  java
  • 复合数据类型

    作业来源于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2696

    1.列表,元组,字典,集合分别如何增删改查及遍历。

    答:

    (1)列表的增删改查:

    增:使用append()方法在列表的末尾增加新的元素

    删:使用del语句来删除列表的元素

    改:通过下标索引找到值然后直接修改

    查:访问的方式可以是通过下标索引,也可以是以方括号的形式截取字符

    (2)元组:

    增:可以通过直接在括号中添加元素,并使用逗号隔开

    删:元组中的元素不能被直接删除,但是可以通过del语句来删除整个元组

    改:元组元素不能修改

    查:可以通过下标索引值查找元组中的元素

    (3)字典:

    增:直接通过键值对赋值即可添加

    删:直接删除键值对

    改:直接对已有的键进行赋值

    查:直接查询键值对

    (4)集合

    增:使用add语句直接增加

    删:可以使用remove语句直接删除,若无此元素则报错,discard( ) 删除集合指定元素, 如果不存在,则do nothing

    2.总结列表,元组,字典,集合的联系与区别。参考以下几个方面:

    • 括号
    • 有序无序
    • 可变不可变
    • 重复不可重复
    • 存储与查找方式

    答:

    1.列表,元组,字典是有顺序的,而集合是没顺序的

    2.列表是以方括号形式表示,元组是以圆括号表示,字典以花括号表示,集合则是以[()]的形式表示

    3.列表是可变对象,它支持在原处修改的操作.也可以通过指定的索引和分片获取元素。区别于元组,可动态增加,删除,更新。

    4.元组和列表在结构上没有什么区别,唯一的差异在于元组是只读的,不能修改。元组用“()”表示。元组一旦定义其长度和内容都是固定的。一旦创建元组,则这个元组就不能被修改,即不能对元组进行更新、增加、删除操作。若想创建包含一个元素的元组,则必须在该元素后面加逗号“,”,否则创建的不是一个元组,而是一个字符串。

    5.集合没有特殊的表示方法,而是通过一个set函数转换成集合。集合是一个无序不重复元素集,基本功能包括关系测试和消除重复元素.。

    6.字典最大的价值是查询,通过键,查找值。

    3.词频统计

    • 1.下载一长篇小说,存成utf-8编码的文本文件 file

      2.通过文件读取字符串 str

      3.对文本进行预处理

      4.分解提取单词 list

      5.单词计数字典 set , dict

      6.按词频排序 list.sort(key=lambda),turple

      7.排除语法型词汇,代词、冠词、连词等无语义词

      • 自定义停用词表
      • 或用stops.txt

      8.输出TOP(20)

    • 9.可视化:词云

     排序好的单词列表word保存成csv文件

    import pandas as pd
    pd.DataFrame(data=word).to_csv('big.csv',encoding='utf-8')

    线上工具生成词云:
    https://wordart.com/create

    作业博客要求:

    • 文字作业要求言简意骇,用自己的话说明清楚。
    • 编码作业要求放上代码,加好注释,并附上运行结果截图。

    答:

    exclude={'a','i','you','and','the','to','be','is','in','or','will'}#定义停用词表
    f=open('news.txt','r',encoding='utf-8')#打开文件
    text=f.read()
    print('text')
    f.close()
    text=text.lower()
    sep=',.?;'
    for s in sep:
        text=text.replace(s,' ')
    bigList = text.split()#把text转化为List列表
    print(bigList)
    print('you',bigList.count('you'))
    bigSet = set(bigList)#把List列表转换为集合
    bigSet=bigSet-exclude#去掉停用词
    print(bigSet)
    bigDict={}#把集合转换为字典
    for word in bigSet:
        bigDict[word]=bigList.count(word)
    print(bigDict)
    print(bigDict.items())
    word = list(bigDict.items())
    word.sort(key=lambda x:x[1],reverse=True)#排列
    print(word)
    import pandas as pd#生成词云
    pd.DataFrame(data=word).to_csv('star.csv',encoding='utf-8')

    截图:

  • 相关阅读:
    CCPC 2020 长春站 部分简略题解
    atcoder arc106 D Powers
    循环节与拓展欧拉定理(广义欧拉降幂)
    最长公共上升子序列 题解
    namomo fish round1 A~C题解
    Codeforces Round #666 (Div. 2) A~E题解
    Educational Codeforces Round 93 Div2 A~E题解
    Codeforces Round #578 Div2 1200 A~E题解
    UVA11997 K Smallest Sums 题解
    LCA模板
  • 原文地址:https://www.cnblogs.com/hjlaaa/p/10509639.html
Copyright © 2011-2022 走看看