zoukankan      html  css  js  c++  java
  • 数据的类型以及内置方法

    数据的类型可以分为              

       int 整数型    

       str 字符串

       float浮点型

       list列表

       dict字典

       bool 布尔值

       set集合

       tuple元组

    其中 可变类型有:列表 字典 集合

          不可变类型 :字符串 整型 元组 

    什么是可变类型?

     可变类型: 值改变 但是id不变

     不可变类型:值改变 id改变

    上一篇博客呢 写了 整型 字符串 和 一点点的列表的内置方法,今天呢继续说列表

    列表呢是一个可变类型 也就是说他的值改变 id不会改变 为什么呢 看我这图就知道了

    什么意思呢 就是说一个变量他绑定的是一个列表 而这个列表他是一个地址 地址里有很多索引 而这个索引他绑定的又是其他地址了 所以说你添加或者删除呢只会改变

    索引绑定的那个地址 而不会改变列表的地址  好比就说这个 元组 大家都知道元组不可变类型 但是这样却可以

    为什么呢?看图  因为他改变的是列表的值对吧 而列表呢是可变类型

    好 现在我们继续开始学习昨天列表还剩下的内容!列表的内置方法 我们还需要掌握几个 我会一一给大家演示这次

    .clear()   清除列表中的所有元素 因为res为空列表 返回None

    .count() 返回的值是()里的数字在列表中存在的个数

    .reverse() # 将列表反转

     .sort() .sort(reverse=True)

    # 队列   先进先出
    l1 = []
    # 先进
    l1.append('first')
    l1.append('second')
    l1.append('third')
    # # 先出
    print(l1.pop(0))
    print(l1.pop(0))
    print(l1.pop(0))
    
    # 堆栈   先进后出
    # 先进
    l1.append('first')
    l1.append('second')
    l1.append('third')
    # 后出
    print(l1.pop())
    print(l1.pop())
    print(l1.pop())
    先进先出和先进后出

    元组:

    元组的定义 ()内用逗号隔开 可以存多个值 任何类型的值,但是唯一和字典 列表不同的是它的值不能修改

    age=(11,22,33,44,55)
    
    #本质
    
    age=tuple((11,22,33,44,55))
    ()里必须传容器类型
    *在定义容器类型的时候,哪怕内部只有一个元素,你也要用逗号隔开 区分一下
    按索引取值(正向取+反向取):只能取
    切片(顾头不顾尾,步长)
    print(t[::2])
    长度
    print(len(t))
    成员运算in和not in
    print('a' in t)
    循环
    for i in t:
       print(i)

    字典的内置方法 

    能存存储多组 key:value键值对  key是对value的描述  key通常情况下都是字符串
    其实这个key只能是不可变类型,value可以是任意数据类型
    强调:字典的key是不能重复的 要唯一标识一条数据
    如果重复了 只会按照最后一组重复的键值对存储
    按key存取值:可存可取  假如添加的存在 那么 覆盖他的值 假如不存在 直接添加到字典

    赋值语句当key不存在的情况下,会自动新增一个键值对

    长度len  统计的键值对的个数

    员运算in和not in 对于字典来说只能判断key值

    删除  三种删除方式 del 字典['key']  字典.pop('key')  字典.clear('key')
    s
    定义字典的三种方式 (****)

    键keys(),值values(),键值对items()
    get()根据key获取value(*******************************
    快速的创建一个字典 dict.fromkeys()
     
    dict.popitem()
     
    .setdefault()

    .update()
    集合 set 关系运算.去重
    定义:
    集合:可以包含多个元素,用逗号分割
    s = {1,2,3,4,5,6}
    s1 = set() 注意在定义空集合的只能用关键字set
    如果你仅仅只写了一个大括号 那么python默认将它当做字典类型
    集合的元素遵循三个原则:
    1:每个元素必须是不可变类型
    可变:不可hash
    不可变:可hash
    s = {1,2,3,4,5,6,'a',(1,2),[1,2]}  # 报错
    s = {1,2,3,4,5,6,'a',(1,2),{"name":'jason'}}  # 报错
    
    2: 没有重复的元素
    s = {1,2,2,2,2,2,2,2,2,2,3,4,4,4,4,4,5}
    print(s)  # 自动将重复的元素 去除
    
    3:无序
    s = {1, 2, 3, 4, 5, 6}
    print(s[1])

    注意集合的目的是将不同的值存放到一起,不同的集合间用来做关系运算,无需纠结于集合中单个值
    优先掌握的操作:
    1、长度len
    s = {1,2,3,4}
    print(len(s))
    2、成员运算in和not in
    3、|合集
    4、&交集
    5、-差集
    6、^对称差集
    7、==
    s = {1,2,3}
    s1 = {3,1,2}
    8、父集:>,>=
    s = {1,2,3,4,55}
    s2 = {1,2,666}
    
    pythons = {'jason', 'nick', 'tank', 'egon', 'kevin', 'owen', 'alex'}
    linux = {'frank', 'jerry', 'tank', 'egon', 'alex'}
    # 既报名python也报名linux的学生姓名
    print(pythons & linux)  # 交集
    
    # 只报名python的学生姓名
    print(pythons - linux)
    
    # 只报名linux的学生姓名
    print(linux - pythons)
    
    # 没有同时报名两门课程的学生姓名
    print(pythons ^ linux)  # 对称差集
    
    # 取出所有报了名的学生姓名
    print(pythons | linux)
    .add

    有补充的我会补充

    
    
    
    趁自己还没死 多折腾折腾
  • 相关阅读:
    各类运算符练习
    用if语句把24小时制转换成12小时制
    Android课程---优化ListView列表视图
    Android课程---关于ListView列表视图的学习
    Android课程---时间日期对话框
    Android课程---关于对话框的学习
    Android课程---用进度条改变图片透明度
    Android课程---进度条及菜单的学习
    Android课程---final关键字
    Android课程---日历选择器和时间选择器
  • 原文地址:https://www.cnblogs.com/lddragon/p/11134519.html
Copyright © 2011-2022 走看看