zoukankan      html  css  js  c++  java
  • 三、序列

    序列
           序列是一种存储方式,用来存储一系列的数据,在内存中,序列就是一块用来存放多个值的连续的内存空间。常见的序列:字符串、列表、元组、字典、集合;例如:a=[10,20,30,40],a指向的是一个列表的地址对象,这个地址中值是具体这四个数字的地址,是一个轻量级的对象,4个地址值指向各自的地址。
     
    列表:
          列表的大小可变,根据需要随时增加或者缩小。
    列表的创建:
    1)a=[a,b,c,d....]
    2) list()创建:将可迭代的数据转化成列表
         a=list("abc")
    3)range()创建整数列表:range[start end step]
    4) 推导式:a=[x*2 for x in range[5]]
    列表的增加:
    append()方法
    +运算符:大量运算符不建议使用,创建新的对象
    extend():涉及两个列表的结合,推荐这个
    乘法扩展:[sex,3]*3
    列表的删除:
    del a[1]
    pop()方法,默认弹出最后一个元素
    remove()方法,删除首次出现的指定元素
    列表元素的访问:
    a[x]
    index()获得指定元素在列表中首次出现的位置
    count()获得指定元素在列表中出现的次数
    len()获取列表的长度
    in  成员资格判断
    切片操作slice:
    列表名[起始:结束:步长]
    列表的排序:
    列表名.sort(),升序排序,不生成新的对象;列表名.sort(reverse=Ture) 降序排序
    random.shuffle(列表名) 打乱顺序
    sorted()内置方法进行排序,但是是生成新的对象
    reversed()返回迭代器,只是返回一次,逆序排序
     
    元组
       列表是可变序列,可以修改列表元素,但是元组是不可变序列。访问速度和处理比列表快
    元组的创建
    a=()
    tuple()
    元组的元素访问和计数
    a=[首次:尾部:步长]
    sorted(a):将元组变成列表,并排序
    zip(a,b,c) 将多个列表对应位置的元素组成元组,形成一个列表,里面的元素是元组
    生成器推导式:通过_next_()调用
    s=(x*2 for x in range(5))
     
    字典
       键值对的无序可变序列,键是任意的不可变的数据,并且不可重复。
    字典的创建
     a={'name':"djw","age":10,"sex":[a,b]}
    b={}
    c=dict(zip(b,c))
    fromkeys创建值为空的字典:a=dict.fromkeys(["name","age","money"])
    字典的访问
    a.get("name")
    a.items()获得所有的键值对
    a.keys() 获得所有的键
    a.values()获得所有的值
    in键是否存在
    len()键值对的个数
     
    字典元素添加、修改、删除
     a[key]=values,如果有原来的键,则覆盖原来的。
    a.update(b)
    del(a[key])直接删除 、a.clear()、a.pop(key)
    popitem()随机删除
     
    序列解包
       a={'name':'djw'; 'age':18;‘job’:'teaher'}
       a,b,c=s
     则a,b,c依次为key值
       a,b,c=s.items()
     则a,b,c依次返回键值对
       a,b,c=s.values()
     则a,b,c依次返回values值
    任何的数据都可以用表格表示,依次一个表格可以由列表和字典构成
    字典的底层原理
          字典底层是散列数字,有空白项,根据需要的键值对,生成二进制码,根据算法,增加到已知的散列数组中,如果所有的散列数组都有数字,就会根据某种算法进行扩容。
          同理,取出字典中的值,也是需要计算key的hash,在进行散列数组的匹配,找到一个地址后,计算该地址key的的hash和原来的进行比较,如果一致,返回相等。
    1.字典在内存中开销巨大,典型的空间换时间
    2.键查询速度快
    3.往字典里面添加新建可能导致扩容,导致散列表中键的次序变化,因此,不要再遍历字典的同时进行字典的修改。
     
    集合
    集合是无序可变,元素不能重复,其底层是字典实现,就是字典的key集合
    z={a,b.c}
    set函数将列表、元素变成集合
    remove()
    clear()
     
  • 相关阅读:
    Struts2+Uploadify文件上传使用详解
    jquery常用代码集锦
    springmvc+hibernate入门-揭开神秘的面纱
    Jqgrid入门-Jqgrid格式化数据(九)
    Jqgrid入门-Jqgrid分组的实现(八)
    利用jekyll架设个人博客
    Centos7安装jekyll
    服务器改造个人工作站经验总结
    王爽汇编环境搭建
    由于没有公钥,下列签名无法进行验证
  • 原文地址:https://www.cnblogs.com/dangjingwei/p/12215185.html
Copyright © 2011-2022 走看看