美文网首页
7.17学习 组合数据类型

7.17学习 组合数据类型

作者: 杰罗尼莫030 | 来源:发表于2017-07-18 00:31 被阅读0次

    组合数据类型之列表

    列表的声明

    可以通过中括号 进行定义

    l = [] # 声明一个空列表          
    l = [1,2,3,4]# 声明一个列表,声明的同时存放数据
    
    列表的常见函数:

    (添加数据)
    append():列表的末尾追加一个新数据
    insert():在指定的位置增加一个数据

    (复制数据)
    copy():复制一个列表单独存放在变量中
    extend():扩展列表,用于在当前列表中,追加一个列表

    (查询数据)
    index():查询某个数据在列表中出现的位置/索引
    count():查询某个数据在列表中出现的次数

    (删除数据)
    pop():删除列表中最后一个数据
    remove():删除列表中指定的数据
    clear():清空列表【不是删除列表】

    reverse()
    sort()

    以下为网络搜索
    reverse():

    列表中的reverse()方法用于将列表中的对象反转位置。
    语法
    以下是reverse()方法的语法 - list.reverse()
    参数
    N/A
    返回值
    此方法不返回任何值,但从列表中反转给定对象。
    示例
    以下示例显示了reverse()方法的用法。

    list1 = ['physics', 'Biology', 'chemistry', 'maths']
    list1.reverse()
    print ("list now : ", list1)
    

    当运行上面的程序,它产生以下结果
    list now : ['maths', 'chemistry', 'Biology', 'physics']
    从上面输出结果中可以看到,列表中的每个元素都颠倒了。

    sort()

    简单的升序排序是非常容易的。只需要调用sorted()方法。它返回一个新的list,新的list的元素基于小于运算符(lt)来排序。

    >>> sorted([5, 2, 3, 1, 4])
    [1, 2, 3, 4, 5]
    

    你也可以使用list.sort()方法来排序,此时list本身将被修改。通常此方法不如sorted()方便,但是如果你不需要保留原来的list,此方法将更有效。

    >>> a = [5, 2, 3, 1, 4]
    >>> a.sort()
    >>> a
    [1, 2, 3, 4, 5]
    

    另一个不同就是list.sort()方法仅被定义在list中,相反地sorted()方法对所有的可迭代序列都有效。

    >>> sorted({1: 'D', 2: 'B', 3: 'B', 4: 'E', 5: 'A'})
    [1, 2, 3, 4, 5]
    

    列表中一个特殊函数list()

    1. 用来创建一个列表
    2. 将其他类型,转换成列表【类型转换函数】
    3. 扩展:将列表(包含的是字符换数据),转换成列表

    列表的特点:
    增删数据较慢
    改查数据较快

    • 那么,为什么增删数据较慢呢?
    • 为什么改查数据较快呢?

    组合数据类型之——集合(set)

    3W1H

    what? 这个东西是做什么用的
    where? 这个东西用在哪里?
    why? 为什么要用这个东西?
    how? 这个东西怎么用?

    what?
    set:是一个保存多个数据的数据类型。类似列表
    数据的操作:增删改查

    how?
    通过set的各种函数来操作
    dir(set)查看set中都有什么函数
    help(set.method)查看某个函数怎么用
    根据增删改查四种操作方式来组织学习set的函数【技巧】

    声明一个set:{}【注意:set中不能存放重复数据,数据没有顺序】
    s = {1,2,3,4,5,6}

    • 增加数据
      add()增加一个数据到集合中
    • 修改数据
      无法修改数据
      可以通过remove + add结合起来完成修改
    • 查询数据
      无法查询单个数据
      for+if查询并获取某个数据
      成员运算符,来查询是否包含某个数据
      只能通过循环遍历数据
    • 删除数据
      pop() 删除随机一条数据
      remove(x) 删除指定的数据(如果数据不存在,会出现错误的)
      discard(x) 删除指定的数据(如果数据不存在,do nothing)
      根据具体的功能来确定,如果删除数据不需要出现错误提示,使用discard如果删除数据需要出现错误提示,使用remove

    目前来说,建议优先使用discard,等待我们以后学习了异常处理之后,可以使用remove来删除数据

        • 多个集合操作

    x.difference(y):判断x中和y集合不同的数据
    x.difference_update(y):判断x中和y集合中不同的数据,并清空x集合后将不同的数据部分赋值给x

    x={1,2,3}
    y={2,3,4}
    x.difference_update(y)
    >>>x
    {1,4}
    

    x.intersection(y):判断x中和y集合中,相同的数据
    x.intersection_update(y):判断x中和y集合中,相同的数据,然后清空x集合并将相同的数据部分赋值给x

    x.isdisjoint(y):判断两个集合中,如果没有相同数据的话,返回True
    x.issubset(y):判断x中的数据,是否都包含在y中
    x.issuperset(y):判断x中是否包含了y中的所有数据


    编者说些题外话,那就是Markdown蛮好用的。
    现在还不太熟悉,慢慢好就好啦。不懂的地方可以看说明。

    相关文章

      网友评论

          本文标题:7.17学习 组合数据类型

          本文链接:https://www.haomeiwen.com/subject/lmqckxtx.html