栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python容器篇

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python容器篇

线性表:
    有序的序列容器:
    数组(array):
        一段连续的内存空间(地址):
        弱数据类型编程语言没有数组,即便是它叫数组,也不是数组
    链表(list):
        可能是不连续的内存组成

    栈(stack):
        FILO、LIFO
    队列(queue):
        FIFO、LILO

列表:
    底层基于一个双向链表结构

python的内置容器
        |-- list
        |-- set
        |-- tuple
        |-- dict
    
list:
    列表,python官方提供的内置的线性表
    底层实现:基于双向链表结构实现

定义列表:
    age = []    # 中括号在python代表的就是列表
    age = [18, 16, 20, 30]
    
    names = list()    
    names = list("张三", "李四", "王五")


操作列表中的元素:
元素:element:
    通过下标可以访问元素
    列表[index]
    
    index:从0开始,最大值: 列表的总长度 - 1

获取列表的长度:
    len(Iterable)        # 返回这个可迭代对象的长度


列表的遍历:
    for循环
    for 临时变量 in Iterable:
        # 每一次得到的元素会放在临时变量中
    
    while循环:
        
列表的常见方法:
    ['append', 'clear', 'copy', 'count', 'extend', 'index',
    'insert', 'pop', 'remove', 'reverse', 'sort']
    这些方法都是用来操作列表的
        CRUD(增删改查)
    |-- append(ele)        # 在尾部追加新的元素
    |-- insert(index, ele)    # 在特定的位置添加元素
    |-- extend(list)    # 合并列表
    |-- clear()        # 清空列表
    |-- remove(ele)        # 删除指定元素 
    |-- pop()        # 删除最后一个元素 

set(集合):高一数学中的那个集合
    哈希表(hash table):
        哈希算法的实现:能够将任何事物映射为一个特定的值
        特点:    1、元素不能重复
            2、无序的
        


定义set:
    s = set(Iterable)
    ss = {1,2,3,4,}        # {}中必须有值,如果没有值,则默认是dict,不是set


注意:set的元素无法通过下标访问

set的常见方法:
    ['add', 'clear', 'copy', 'difference', 'difference_update', 
    'discard', 'intersection', 'intersection_update', 'isdisjoint', 
    'issubset', 'issuperset', 'pop', 'remove', 'symmetric_difference', 
    'symmetric_difference_update', 'union', 'update']


    |-- add(ele)            # 添加元素
    |-- clear()            # 清空列表
    |-- copy()            # 浅拷贝
    |-- difference(set)        # 差集
    |-- intersection(set)        # 交集
    |-- union(set)            # 并集
    |-- update(set)            # 合并两个集合
    |-- discard(ele)        # 移除元素,如果该元素不存在,则什么都不做
    |-- remove(ele)            # 移除元素,如果该元素不存在,则抛出异常
    |-- pop()            # 

注意:set没有办法使用while 遍历数据,只能使用for循环


tuple(元组):
    是一种不可变数据类型
    基本数据类型也是不可变数据类型
    不可变数据类型中如果存在了可变数据类型,这个子对象是可以发生变化的
    
    所以表示的就是的固定的值,固定的一组值

    可以通过下标来访问

元组的元素一旦定义,就无法修改!!!
    
常用方法:
    |-- count
    |-- index

字典(dict):
    字典和集合一样,底层实现就是一个hash table


    最终的表示方式:
    键值对:一个唯一键对应一个值,一一对应的关系

python中字典:
    d = {}
    d = {"id": 2, "name": "刘慧", "age": 17}
    dd = dict({"id": 2, "name": "刘慧", "age": 17})

获取字典中的值:
    d[key]                # 就可以获取字典中,key对应的值,如果不存在,则抛出异常
    
    字典对象.get(key,default)    # 就可以获取字典中,key对应的值,如果不存在,则返回None


字典对象的常见方法:
     ['clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 
     'pop', 'popitem', 'setdefault', 'update', 'values']

    
    |-- clear()        # 
    |-- copy()        #
    |-- get(key, [defaul])    # 
    |-- setdefault()    # 
    |-- keys()        # 获取所有的键
    |-- values()        # 
    |-- items()        # 
    |-- pop(key)        # 通过key,删除键值对
    |-- popitem()        #  
    |-- update()        # 合并字典  等价于 {**对象, **对象}
    |-- fromkeys(iterable)    # 生成一个新的字典对象


如何遍历字典:
    for i in 对象.keys():
        print(i, 对象[i])
    

    for i in 对象:
        print(i, 对象[i])

    
    for item in 对象.items():
        print(item[0], item[1])


    for (key, value) in 对象.items():
        print(key, value)
    
    for key, value in 对象.items():
        print(key, value)


python是一门支持多返回值的编程语言


课堂练习:给定一个列表,长度为10,它的元素有0~100以内的整数组成
    1、请实现出一个这样的列表
    2、求该列表的最大值,最小值,平均值


排序:
    为了方便大量数据的查找,一般会先排序这些数据,这个优秀的查找算法都是针对有序数据的

    |-- index(ele)        # 返回查找到的一个元素位置
    |-- count(ele)        # 返回元素的数量
    |-- reverse()        # 翻转列表顺序
    |-- sort()        # 排序
    |-- copy()        # 拷贝、复制,对象拷贝,对象浅拷贝

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1001255.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号