zoukankan      html  css  js  c++  java
  • python基础五字典和集合

    一、昨日内容回顾
        list:
             增:append insert(index,object) extend()跌带着追加
             删:pop()按照索引去删除,索引值不填默认从后面删,有返回值
                    remove()按照元素删除
                    clear()清空列表
                    del list 从内存中删除列表
                    del list[index]
                    dle list[0:3]
                    del list[0:3:2]
             改:
                    按索引改单个元素
                    按切片迭代改多个元素
                    按切片加步长
            查:
                    索引,切片,切片+步长,for循环
            其他方法:
                    len()
                    .index()
                    .count()
                    .reverse()
                    .sort()
                    .sort(reverse=True)
        list的嵌套:
            略
        元组:
            ()里面放任意数据类型,不可以增删改,可以查:索引,切片,切片加步长,for循环。
        range():
            当做是一个可控范围的数字列表,多与for循环结合
    二、作业讲解
            略
    数据类型的分类
    容器类数据类型
    list,tuple,dict,set
    非容器型数据类型
    str,bool,int
    可变(不可hash)的数据类型
    list,dict,set
    不可变(可hash)的数据类型
    str,bool,int,tuple
    容器类数据类型
    list,tuple,dict,set
    非容器型数据类型
    str,bool,int
    可变(不可hash)的数据类型
    list,dict,set
    不可变(可hash)的数据类型
    str,bool,int,tuple
    三、字典
        why:
                1列表如果存储大量的数据,查询速度相对慢一些
                2列表存储的数据一般没有什么关联性
                针对以上因素,python提供了一个基础数据类型:dict字典
                
        what:
                dic{'name':'alex'}以键值对形式存储的数据类型
                1字典的键必须是不可变(可hash)的数据类型,唯一的不重复,值可以是任意数据类型或对象
                2 字典的查询速度非常快
                3字典在3.5版本之前是无序的,但是在3.6版本做了优化-字典会按照创建时的顺序排列
                4字典可以存储大量的关联性数据
                
        how:

    dic['weight'] = 150(有则覆盖,无则添加)
    dic.setdefault('high',175)(有则不变,无则添加)
    dic.update(weight=150,high=175)(有则覆盖,无则添加)
    .pop('键','返回值')通过键删除键值对,如果键不存在会返回指定的返回值,如未指定会报错,返回值为被删除的值
    .clear()清空
    .popitem()3.5版本是随机删除键值对,3.6之后因为字典有序了所以删除最后一个。返回值是一个元组形式的(key,value),如果列表是空会报错
    del dic['name']键值不存在会报错
    dic['weight'] = 150(有则覆盖,无则添加)
    dic2.update(dic1)用dic1更新dic2(有则覆盖,无则添加),对dic1无影响。
    按照键查对应的值:
    dic['key']返回对应的值,key不存在时会报错
    dic.get('key','返回值')返回对应的值,key不存在返回指定返回值,默认返回none不会报错
    for循环打印获取的是key值
    dic.keys()返回一个类似于列表的容器的数据类型包含key值
    dic.values()按照键查对应的值:
    dic['key']返回对应的值,key不存在时会报错
    for循环打印获取的是key值
    dic.keys()返回一个类似于列表的容器的数据类型包含key
    dic.values()返回一个类似于列表的容器的数据类型包含values
    dic.items()返回一个类似于列表的容器的数据类型包含item(键值对是元组形式)
    for k,v in dic.items():
            print(k,v)#通过分别赋值遍历打印
     
                其他操作及填坑

        where:
        为了存储大量关联性数据,方便快速查询时使用。
    四、字典的嵌套
    五、集合
    六、知识点拾遗
        格式化输出:
  • 相关阅读:
    c# -- 实现浏览功能(备忘)
    自己动手写中文分词解析器完整教程,并对出现的问题进行探讨和解决(附完整c#代码和相关dll文件、txt文件下载)
    爬虫技术 -- 进阶学习(九)使用HtmlAgilityPack获取页面链接(附c#代码及插件下载)
    爬虫技术 -- 进阶学习(八)模拟简单浏览器(附c#代码)
    爬虫技术 -- 进阶学习(七)简单爬虫抓取示例(附c#代码)
    c# -- 介绍File.AppendAllText 方法
    c# -- 解决FromsAuthentication上下文不存在
    c# -- Form1_Load()不被执行的三个解决方法
    爬虫技术 -- 基础学习(六)解析相对地址
    爬虫技术 -- 基础学习(五)解决页面编码识别(附c#代码)
  • 原文地址:https://www.cnblogs.com/gzying-01/p/10173270.html
Copyright © 2011-2022 走看看