码迷,mamicode.com
首页 > 编程语言 > 详细

【python】数据类型概述

时间:2020-06-29 23:02:35      阅读:81      评论:0      收藏:0      [点我收藏+]

标签:extend   python   hello   常用   loading   排序   type   update   拷贝   

python数据类型分类:

1、int 整型

.bit_length()  #数字转换成二进制长度

 

2、str 字符串

 1)索引

       索引默认从左到右,下标从0开始,从右到左,下标从-1开始 

    2)切片

        语法: s[开始位置:结束位置:步长]

        特点:顾头不顾尾

        步长正负表示了起止的方向和内容打印的方向(默认正数是从左到右读和取)

    3)常用操作:

    #字符串是不可变的,任何操作对原字符串无影响

    #所以有返回值

        s.capitalize() 首字母大写 

        s.title() 被特殊字符隔开的首字母大写(中文和空格也属于特殊字符)

        s.lower() 

        s.upper()

        s.strip() 去空格 只对首尾有效 

            #s.strip("指定内容") 去除字符串前后指定内容

            #s.lstrip()  

            #s.rstrip()

        s.split("指定元素") 切割

            #切割之后是列表,列表里面装的是字符串

            #如果切割在字符串左右两端,一定会生成空字符串

        s.replace() 替换

            #s.replace(" ","") 区别s.strip()

            #注:空格和空字符串还是有区别的。

        len() 计算字符串长度,不需要点操作

        s.startswith(‘a‘) 判断是否以a开头

        s.endswith(‘b‘)

        s.find("木木"26)指定范围查找

  4格式化输出 

   %s:

            s="我叫%s,今年%d岁了,喜欢%s" % (‘alex‘,20,‘羽毛球‘)

        位置格式化:

            s="我叫{},今年{}岁了,喜欢{}".format(‘alex‘,20,‘羽毛球‘)

        指定位置:

            s="我叫{0},今年{2}岁了,喜欢{1}".format(‘alex‘,‘羽毛球‘20)

        指定关键字:

            s="我叫{name},今年{age}岁了,喜{hobby}".format(name=‘alex‘,age=20,hobby=‘羽毛球‘)

   5)迭代:

  str01 = ‘hello python‘

        for i in str01:

            print(i)

            print(type(i))  

 

 

3、list 列表

 #列表可变,直接对原列表操作

    1)增加:

        #返回值都是None

        list1.append() 向列表中添加一个元素,至末尾

        list1.insert(1,‘周周‘) 指定位置添加一个元素 #少用,耗性能

        list1.extend() 迭代添加

    2)删除:

        #有返回值

        list1.pop() 输出最后一个,返回值是删除的元素

        list1.pop(1) 根据索引删除 #少用,耗性能

        list1.remove(‘元素‘) 指定元素删除,无返回值

        del list1 删除整个列表 

            #del list1[:] 切片删除得到的是空列表

        list1.clear() 清除,得到空列表

    3)修改:

        通过索引修改:list1[0]=‘太白‘

        切片修改:list1[0:2]=‘马花花‘ #先删除再迭代添加

    4)常用操作:

        list1.sort() 排序,默认升序 

        list1.sort(reverse=True) 倒序

        list1.reverse() 翻转

        len() 长度

    5)列表嵌套

    6)迭代

  list1 = [1,2,3,‘zxl‘,[4,5]]

        for i in list1:

            print(i) #遍历各元素

            print(type(i)) #取决各元素的数据类型

 

 

4、元组

    #只读列表,不可变

    1)元组中若只有一个元素,要加一个逗号,否则是int

    2)元组不可变,指的是子元素类型是不可变的数据类型,若子元素是可变的数据类型那么也是可以修改的

    3tuple() 表空元组

    4)迭代

  tuple1 = (1,2,3,[4,5])

        for c in tuple1:

            print(c)

 

5、字典

   1{}括起来的键值对,无序的

       key不可变,可哈希;可作为key的数据类型:str、 int、 bool、 tuple 列表不可作为key

    2)增加:

        dic["果果"]=‘汪峰‘  不存在走添加,存在走修改

        dic.setdefault("果果",‘老外‘) 不存在走添加,存在不保存走查询

    3)删除:

        dic.pop(‘果果‘) 指定key删

        dic.popitem() 随机删一个

        del dic[‘果果‘] 指定key删

    4)修改:

        dic1.update(dic2) 将dic2更新到dic1中,存在走修改,不存在走增加

        dic[‘1‘]=dic[‘1‘] + 20 通过key修改

    5)查:

        dic.get(‘1‘,‘503‘) 根据key查,若不存在返回指定值

        dic.setdefault(‘昆凌‘,‘周周‘) 没有走新增,已存在走查询,返回对应的value

    6)补充:

        dic.keys() 获取所有key

        dic.values()获取所有value

        dic.items()获取所有键值对

        for k,v in dic.items():

            print(k,v)--------------获取到的是元组类型

        for i in dic1:

            print(i)-------获取key

            print(dic[i])-----获取value

 

补充:

1、range

 #同切片,顾头不顾尾

    for i in range(10):

        print(i) # 0,1,2,3,4,5,6,7,8,9

    for i in range(10,1,-1):

        prnt(i) #10 9 8 7 6 5 4 3 2 

    for i in range(len(list)):

        print(i) #获取列表的索引 (对字符串,元组,字典,列表都适用

 

2、jion()

   s = ‘abc‘

        s1=s.join("非常可乐") #把s插入到join里的字符串

        print(s1) # 非abc常abc可abc乐

 

3、循环里做删除,不可以直接删

比如把主播薪资低于平均薪资的过滤掉

技术图片

 

4、深浅拷贝

列表进行赋值操作,实际上引用内存地址进行赋值

        list2= list1

        list2.append("大同")

        print(list1) #list1内容也被修改

浅拷贝: .copy() #适用于各元素不可变场景,只拷贝第一层

        list2=list1.copy()  #list1 和list2指向的不是同一对象

        list2=list1[:]   #切片赋值等价于浅拷贝

深拷贝:  #适用所有类型,完全拷贝

        list1 = [‘超人‘,‘七龙珠‘[‘大力‘,‘二力‘]]

        import copy 

        list2 = copy.deepcopy(list1)

        list1.append("大洋")

        print(list1,list2)

 

技术图片

 

【python】数据类型概述

标签:extend   python   hello   常用   loading   排序   type   update   拷贝   

原文地址:https://www.cnblogs.com/xlzhangq/p/13210768.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!