zoukankan      html  css  js  c++  java
  • 数据类型总结

    数据类型总结:

    三大要素:
    1,id(地址)
    2,type(类型)
    3,value(值)

    可变类型:列表,字典,集合
    共性:
    1,增加
    2,删除obj.pop() obj.clear()
    3,修改(列表、字典可以)
    4,查找(列表、字典可以)
    不可变类型(可hash类型):数字(整形,浮点类型),字符串,元祖,布尔类型
    无论可变数据类型与不可变数据类型,其变量名的id都不会改变,可以用len(obj)的变量也都可以进行遍历(可遍历)取值。

    序列类型(有索引):字符串,列表,元祖(都有obj.index()方法,可以返回索引)
    通用方法:
    1,obj.index()
    2,遍历for i in obj:
    3,判断元素是否在value in obj
    4,切片[a:b:c]
    5,解压a,*_,b=obj
    6,都有长度,即len(obj)
    7,取值:
    (1),整体取值:直接打印变量名(引用)即可
    (2),局部取值:
    a,根据索引进行取值
    b,遍历变量进行取值(用while,for进行遍历)
    c,切片取值[a,b,c](a,开头;b,末尾;c,步长;注意遵循左必右开的原则)
    d,解压缩的方式(a,*_,b='hello python';*_可以理解为通配符(可以进行适当的匹配))
    非序列类型(无索引):数字,布尔类型,字典,集合

    变量的操作:对变量进行操作的时候,如果是可变类型则操作的是该变量本身,比如修改操作(其id,value会发生变化);
    如果是不可变数据类型则不能对此变量本身进行修改操作,注意点:元祖和字典的key的操作。

    整形:整数(int)

    浮点类型:小数(float)

    布尔类型(boolean):False(0),True(1)

    字符串(str):
    注意:字符串为不可变数据类型,故对字符串本身不能进行修改操作,但可以通过调用其方法来获取其返回值(可以是字符串、数字、列表等任意数据类型)
    组成:由' '双引号、" "、双引号、''' '''三引号及其引号内部的元素(可以是任意数据类型)共同构成。
    取值:
    1,整体取值:直接打印变量名(引用)即可
    2,局部取值:
    a,根据索引进行取值
    b,遍历集合进行取值(用while,for进行遍历)
    c,切片取值[a,b,c](a,开头;b,末尾;c,步长;注意遵循左必右开的原则)
    d,解压缩的方式(a,*_,b='hello python';*_可以理解为通配符(可以进行适当的匹配))
    拼接:
    1, str3 = str1 + str2(比较常见)
    2, str3 = str1.join(str2)(应用场景较少)
    3, str2 = str1*3(有应用)
    格式化输出:
    1,format方法
    res = 'name:{},age:{},sex:{}'
    res.format('egon',18,'male')

    res = 'name:{1},age:{0},sex:{0}'
    res.format('egon',18,'male')

    res = 'name:{},age:{},sex:{}'
    res.format(name='egon',age=18,sex='male')
    2,用+进行连接
    3,%s,%d等
    表判断的:
    1,判断是否为数字str.isdigit()
    2,判断是否为空str.isspace()
    3,以' '结尾str.endswith(' ')
    4,以' '为开头str.startswith(' ')
    查找:
    1,str.find()
    2,str.index()
    3,str.count()
    替换:
    str.replace(old,new)
    应用场景:文件操作(文件中新旧的替换)f2.write(line.replace(old,new))
    切割:
    str.split('')可以指定字符去切割(切割返回的是列表)
    删除空字符:
    str.stript()删除开头末尾空字符
    大写小写化:
    1,str.upper()
    2,str.lower()
    列表(list):
    注意:由于列表是可变类型,所以可以对其进行修改操作(操作对象是其本身)
    组成:由一对中括号[]及其中的元素组成,内部元素无要求,可以是任意类型数据。
    值的获取:
    1,整体取值:直接打印变量名(引用)即可
    2,局部取值:
    a,根据索引进行取值
    b,遍历集合进行取值(用while,for进行遍历)
    c,切片取值[a,b,c](a,开头;b,末尾;c,步长;注意遵循左必右开的原则)
    d,解压缩的方式(a,*_,b='hello python';*_可以理解为通配符(可以进行适当的匹配))
    添加元素:
    1,obj.insert()可以指定索引进行添加
    2,obj.extend()默认添加到末尾
    3,obj.append()有多个元素的变量拆散添加到末尾
    删除元素:
    1,del obj[index]
    2,obj.remove()指定元素
    3,obj.pop()指定索引,默认从末尾开始移除
    4,obj.clear()
    修改元素:
    obj[index]=new_value
    查询元素:
    1,obj.index(value)
    2,obj.count(value)数数,看列表中有几个这样的元素
    排序:
    obj.sort(reverse=True)
    反转:
    obj.reverse()
    元祖(tuple):
    注意:参考字符串
    组成:元祖由一对小括号()及其中的元素组成,元素可以是任意数据类型。
    值的获取:参考字符串
    查找元素:
    查询元素:
    1,obj.index(value)
    2,obj.count(value)数数,看列表中有几个这样的元素
    字典(dict):
    注意:参考列表
    组成:字典的组成结构为{key:value,key1:value1.........,key_n:value_n},其key只能是不可变数据类型(字符串、布尔、数字、元祖),value可以是任意数据类型。
    值得获取:
    1,整体取值:直接打印变量名(引用)即可
    2,局部取值:
    a,obj.items()用v,k接受
    b,obj.values()所有值
    c,obj.keys()所有的键
    d,可以直接遍历obj,接收的元素为key,然后通过obj[key]就可以获取value了
    e,可以通过解压缩的方式来获取key,进而获取value
    通过以上方法再附加上for进行遍历即可得到每一个key和value值
    添加元素:
    obj[new_key]=new_value
    删除元素:
    1,del obj[key]
    2,obj.pop(key),如果参数为空则默认从最后一个删除
    3,obj.clear()清空
    修改元素:
    obj[key]=new_value
    查找元素:
    obj.get(key)
    集合(set):
    注意:参考列表,集合可以自动去重,在一定的范围之内可以自动排序
    组成:集合由两个大括号{}及其中的元素组成,元素可以是任意数据类型
    列表方法:
    1,求交集 &与 obj1 = obj.intersection(obj2)
    2,求并集 |或 obj1 = obj.union(obj2)
    3,求差集 -减 obj1 = obj.difference(obj2)
    4,求对称差集 ^异或 obj1=obj.symmetric_difference(obj2)
    添加:
    obj.add(value)
    删除:
    obj.remove(value)
    obj.pop()(不传入参数)
    obj.clear()清空















  • 相关阅读:
    freertos 启动任务调度器后卡在svc 0,汇编停在了0x0800014A E7FE B 0x0800014A
    cadence报错:Class must be one of IC, IO, DISCRETE, MECHANICAL, PLATING_BAR or DRIVER_CELL.
    DDR内存256M16、512M8含义
    常用摄像头像素
    cadence报错because the library part is newer than the part in the design cache.Select the part in the cache and choose Design-Update Cache,and then place the part again.
    ESP-Example ble-ancs解析
    ping 请求找不到主机 www.baidu.com
    linux驱动ioctl报[-Werror=incompatible-pointer-types]错
    常用排序算法对比
    修改gitlab服务器网段后修改git配置的方法
  • 原文地址:https://www.cnblogs.com/caoxing2017/p/7275714.html
Copyright © 2011-2022 走看看