全局函数及容器


全局函数:
    print
    input
    type
    int
    float
    str
    len
    dir
    help
    range
    eval        # 将字符串转换脚本
 

 

 

容器:容器是一种把多个元素组织在一起的数据结构,容器中的元素可以逐个地迭代获取,可以用in, not in关键字判断元素是否包含在容器中。

  1. 容器是一种可以包含其他类型对象(如列表,集合,元组,字典等)作为元素的对象;
  2. 容器仅仅只是用来存放数据的,我们平常看到的 l = [1,2,3,4]等等,好像我们可以直接从列表这个容器中取出元素,但事实上容器并不提供这种能力,而是可迭代对象赋予了容器这种能力。

列表--list
    线性表:
        数组:数组是连续内存的结构, python是没有数组
        栈: 先进后出,后进先出
        队列:先进先出,后进后出
        链表:
            |-- 单向链表:节约内存
            |-- 双向链表:

    python的列表这种容器就是基于双向链表实现的

    |-- 列表的定义
        |-- 由若数据类型语言决定,直接将值赋给变量
            如: ls = [2, 3, 4, 5, 56]
        |-- 全局函数list
            ls = list()
            ls = list([1,2,3,4,5,5])    
        # 容器中的每一个,我们叫做元素
    |-- 如何访问元素
        使用下标来访问,注意下标是从0开始
        可以通过下标访问元素
        也可以通过下标来修改元素值

    |-- 求列表的长度
        全局函数 len(容器)    # 返回容器的长度
    
    |-- 如何遍历容器两个列表进行合并操作
        while
            index = 0
            while index < len(ls):
                 print(ls[index])
                 index += 1
        for循环:
            for i in ls:
                print(i)

    |-- 列表中的常见方法
        ['append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']

        |-- append()    # 向列表尾部追加元素
        |-- insert()    # 向指定的位置追加元素
        |-- sort()    # 排序(一般用来排序数字)
        |-- index()    # 查找元素第一次在列表中出现的位置,如果没有这个元素,则抛出异常
        |-- reverse()    # 将列表元素顺序翻转
        |-- remove()    # 通过元素来移除元素,注意,如果元素不存在,则抛出异常
        |-- count()    # 统计元素个数
        |-- clear()    # 清除元素
        |-- copy()    # 浅拷贝对象,是在堆内存中进行对象拷贝的
        |-- extend    # 合并列表
        |-- pop()    # 删除最后元素,并返回这个元素

内存模型:
    栈(stack):
        先进后出,后进先出
    堆(heap):

队列:先进先出,后进后出
        


集合(set):
    |-- 常见一个集合
        s = set()        # 使用全局函数set来创建一个集合
        s = set({1,3,4,5})    # 创建集合,并赋值
        s = {}            # 如果使用空的{}来创建一个对象,该对象是字典,并不是集合
        s = {元素}        # {}至少要有一个元素,此时才是集合
    
    |-- 集合的底层基于hash表实现的
        不能重复的,也就意味着集合中的元素都是唯一的
        无序
    |-- 常见方法:
        ['add', 'clear', 'copy', 'difference', 'difference_update', 'discard', 'intersection', 'intersection_update', 'isdisjoint', 'issubset', 'issuperset', 'pop', 'remove', 'symmetric_difference', 'symmetric_difference_update', 'union', 'update']
        
        |-- clear        #
        |-- remove        #
        |-- copy        # 
        |-- add            # 增加元素
        |-- difference        # 差集
        |-- intersection    # 交集
        |-- union        # 并集
        |-- update        # 更新集合,合并集合
        |-- discard        # 移除元素,但是如果不存在,则不做任何操作

元组(tuple)
    |-- 定义
        通过若数据类型
            t = (元素...)
        tuple全局函数
            tt = tuple()
            tt = tuple((元素...))

    |-- 通过下标来访问元素
        
    |-- 元组的特点
        元组是一个不可变了类型,元组的元素一旦定义下来,则无法改变
        
    注意:
        虽然元组不可变,如果元组内部元素是可变类型,那么该元组就可变!!

    |-- 常见方法
        |-- index
        |-- count


字典(dict)
    键值对形式存储的
    |-- 定义
        d = {"name": "liujianhong", "age": 16, "gender": "男"}
        d = dict()
    
    |-- 如何访问值
        通过key来访问对应的值
        字典对象[key]    # 返回key对应的值,如果没有,抛出异常

        字典对象[key] = 新值
        字典对象[新key] = 新值        # 增加新的键值对

    |-- 常见方法
        ['clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values']
        |-- clear
        |-- copy
        |-- get       # 和字典对象[key]类似,获取键对应值,注意,如果没有该键,返回None
        |-- keys    # 返回所有的键
        |-- values    # 返回所有的值
        |-- setdefault    # 设置默认值
        |-- items    # 返回一个键值对
        |-- pop(key)    # 通过key删除键值对
        |-- popitem    # 移除一个键值对,移除的规则是LIFO(last in first out)

    |-- 字典的遍历:
        for k in d.keys():
            print(k, d.get(k))

        for k in d:
            print(k, d[k])

        for k,v in d.items():
            print(k, v)

        
LIFO:后进先出    栈
FIFO:先进先出    队列

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值