zoukankan      html  css  js  c++  java
  • python数据类型int、float、str、list、dict、set定义及常用方法汇总

    数据类型int:记录整数事物状态

    可变不可变:值不可变类型,改变变量值实则是改变了变量的指向

    int():功能:1、工厂函数, i = 5 <==> i = int(5) 

                             2、强制类型转换,i = int("5") ==> i= 5

    常用方法:int.bit_length()  返回int变量所占二进制位数

    数据类型float:用于记录浮点型事物状态,如身高,体重等带小数点的属性

    可变不可变:值不可变类型,改变变量值实则是改变了变量的指向

    float():功能:1、工厂函数, i = 5 .0<==> i = float(5) 

                                 2、强制类型转换,i = float("5.0")  ==> i= 5.0

    int()和float都可以进行 +、- 、* 、/、//、%、**、%=、/=、//= 等数学运算以及 ==、<、>、!=、<= 、>=等比较运算

    数据类型str:记录可描述性事物状态

    可变不可变:值不可变类型,改变变量值实则是改变了变量的指向

    str():功能:1、工厂函数,i = “egon” <==> i = str("egon")

                      2、强制类型转换, i = str(555)  ==>i = "555"

    常用操作:i = “abcdef”

    索引取值:i[1] = "b"

    切片:i[1:5:2] ==> "bd"

    循环:for i in i:print(i)  

    >>>

     a

    b

    c

    d

    e

    f

    常用方法:strip(指定去除字符)  #去除首尾字符,默认为空格

    replace(old,new,num) #用子字符串替换字符串中的某些字符,可指定替换个数

    split(指定分隔字符,num) #  按指定字符分隔字符串,可指定分隔次数,默认从左到右分隔,从右到左分隔可用rsplit()

    str.join(iterable) #将可迭代对象元素按用str连接成字符串,注意可迭代对象元素必须是字符串类型,否则报错

    endswith(指定字符,start,end) #判断是否以指定字符开头,可指定索引起终止位置

    startswith()#判断是否以指定字符结尾,可指定索引起终止位置

    upper() #字符串字母大写

    lower()#字符串字母小写

    isdigit() #判断字符串是否由纯数字组成

    find(指定字符,start,end) # 返回字符在字符串中的起始索引    可指定起始位置索引,找不到返回-1

    index(指定字符,start,end)#返回字符在字符串中起始位置索引,可指定起始位置索引,找不到报错

    .....

    总结:所有对字符串的操作都是返回了新的值,原字符串不改变

    数据类型list:存储多元素的容器

    可变不可变:元素值可变类型,修改列表内部值不影响列表的内存地址

    list常用操作:L=[“a”,4,“egon”,18]

    索引取值:L[0] = "a"

    修改元素值:L[0] = “b” ==> L = ["b",4,"egon",18]

    切片:L[1:3:1]  ==> [4,"egon"]

    删除:del[0],L.pop(索引)#返回被删除元素   L.remove(元素)

    循环:for i in L:print(i)

    常用方法:append(元素) #尾部追加

    insert(索引,元素)#指定位置插入

    reverse()#元素位置反转

    extend(iterable) 追加可迭代对象所有元素

    index(obj,start,end)查找指定元素,返回找到位置索引值,可指定起始终止位置索引,没找到报错

    clear() 清空列表

    copy() 浅拷贝,原列表嵌套列表,修改被嵌套的列表值时,copy出的列表相应的嵌套列表会被同步修改

    如果想copy前后的列表完全无关可以用深拷贝:import copy      s = copy.deepcopy(list)

    sort(key = 函数,reverse)按函数返回结果排序,可指定排序顺序

    数据类型字典dict:存储一系列带属性类型元素 key:value形式

    可变不可变:可变类型

    常用操作:dic = {“name”:"egon","age":18}

    1、根据key取值,dic["name"]  ==>"egon"

         dic.get(key,default = None) 返回指定key 的值,如果指定的key不在字典中则返回默认值None,默认值可修改

         dic.setdefault(key,default = None) 返回指定key的值,如果指定key不在字典中则返回默认值并新增键值对

    2、增、修改值:dic["hobby"] = "basketball" ,如果字典包含key“hobby”,则覆盖原数据,如果没有则新增

         dic.update(dict) 将dict键值对加到dic中,如有重复key则覆盖

         dic.fromkeys(sqe,None) 批量添加key,sqe为可迭代对象,元素为新增的key,默认值None,可指定

    3、删除:popitem() 随机删除一对键值对并以元组形式返回该键值对,对空字典用此方法会报错

    pop(key) 删除指定key键值对并返回value

    4、循环:for i in dic:  《==》 for i in dic.keys:

         dic.keysdic.valuesdic.items不是列表,但是个迭代器,可以被循环,可以强制转换为list

    数据类型tuple:存储一系列不可修改元素

    可变不可变:不可变,如果元素为可变类型,元素内部值是可修改的

    常用操作:t = (1,2,3,4,5)

    索引取值:t[1] = 2

    切片:t[1:4:2] ==>(2,4) 

    循环:for i in t:

    常用方法:

    count(x),返回x在元组中出现的次数

    index(x,start,end)返回x在元组指定范围的索引值,可指定起终点索引

    数据类型set:数据具有唯一性

    可变不可变:可变

    有序无序:无序,不可取值

    常用操作:s1 = {1,2,3,4}   s2 = {3,4,5,6}

    新增:s1.add(元素),s1.update(s2)

    删除:clear()清空set,pop()随机删除并返回值

             remove(元素) 删除指定元素

    复制:copy()

    常用运算:

    & 交集

    s1 & s2 ==》{3,4}

    | 并集

    s1 | s2 ==>{1,2,3,4,5,6}

    - 差集

    s1 - s2 ==》{5,6}

    ^ 对称差集

    s1 ^ s2 ==》 {1,2,5,6}

    常用方法:

    s1.isdisjoint(s1) 判断是否没有交集,没有返回True 有返回Flase

    s1.issubset(s2) 判断是都是s2的子集

    s1.issuperset(s2) 判断是否是s2的父集

  • 相关阅读:
    OCX控件的注册卸载,以及判断是否注册
    SimpleJdbcTemplate批量更新(BeanPropertySqlParameterSource)
    hibernateTemplate封装jdbc的一个简单思路
    Dao层查询
    ==与equals方法的区别(Java基础)
    中文乱码解决办法
    spring核心配置文件_ActiveMQ消息队列配置
    spring核心配置文件_Elasticsearch搜索配置
    spring核心配置文件_数据库连接信息
    spring核心配置文件_数据库连接信息_数据库信息
  • 原文地址:https://www.cnblogs.com/dongxixi/p/10595739.html
Copyright © 2011-2022 走看看