zoukankan      html  css  js  c++  java
  • day05 数据类型的方法详解

    今日内容:

    1、数字的基本操作

    2、字符串的操作及常用方法

    3、列表的操作及常用方法

    重点:

    1、字符串的操作及常用方法

      (1)常用操作

    """
    字符串的操作:
    """
    s = "This is a test,and include letter、numbers 1,2,3 and up-letter ABcDe aBCdE"
    # 1、根据索引取值 ---> s[]
    letter = s[5]
    print(letter)  # i
    
    # 2、对字符串进行切片  --> s[start_index:end_index:step]
    sp = s[::]
    print(sp)  # This is a test,and include letter、numbers 1,2,3 and up-letter ABcDe aBCdE
    sp1 = s[:5:]
    print(sp1)  # This
    sp2 = s[10::]
    print(sp2)  # test,and include letter、numbers 1,2,3 and up-letter ABcDe aBCdE
    sp3 = s[5:10:]
    print(sp3)  # is a
    sp4 = s[5:15:2]
    print(sp4)  # i  et
    spre = s[-1:-10:-1]
    print(spre)  # EdCBa eDc
    
    # 3、字符串的遍历
    for i in s:
        print(i,end=" ")  # T h i s   i s   a   t e s t , a n d   i n c l u d e   l e t t e r 、 n u m b e r s   1 , 2 , 3   a n d   u p - l e t t e r   A B c D e   a B C d E
    print()
    
    # 4、字符串的长度   ---> len()
    s_lenth = len(s)
    print(s_lenth)  # 73
    
    # 5、成员运算  ---> in  not in
    print("h" in s) # True
    
    # # 6、字符串的删除  ---> 直接清空字符串所在的空间,删除的是数据本身,不是绑定关系
    # s1 = "haha 这是一个要被删除的字符串"
    # del s1
    # print(s1)  # NameError: name 's1' is not defined

      (2)字符串的常用方法

    """
    字符串的重要方法
    """
    s_zh = "***This is a test,and include letter、numbers 1,2,3 and up-letter ABcDe aBCdE,并且包括了中文---**"
    
    # 1、 去除空白及指定字符  ---> strip()  lstrip()  rstrip()
    s2 = s_zh.strip()
    print(s2)  # ***This is a test,and include letter、numbers 1,2,3 and up-letter ABcDe aBCdE,并且包括了中文---**
    print(id(s2),id(s_zh))  # 2407212780880 2407212574624
    print(s_zh.strip("*"))  # This is a test,and include letter、numbers 1,2,3 and up-letter ABcDe aBCdE,并且包括了中文---
    print(s_zh.lstrip("*"))  # This is a test,and include letter、numbers 1,2,3 and up-letter ABcDe aBCdE,并且包括了中文---**
    print(s_zh.rstrip("*"))  # ***This is a test,and include letter、numbers 1,2,3 and up-letter ABcDe aBCdE,并且包括了中文---
    
    # 2、 将字符串切分成列表  --->  split()  rsplit("str","count"):对字符串进行切分,变为列表,默认以空白进行切分依据!
    print(s_zh.split())  # ['***This', 'is', 'a', 'test,and', 'include', 'letter、numbers', '1,2,3', 'and', 'up-letter', 'ABcDe', 'aBCdE,并且包括了中文---**']
    print(s_zh.rsplit())  # ['***This', 'is', 'a', 'test,and', 'include', 'letter、numbers', '1,2,3', 'and', 'up-letter', 'ABcDe', 'aBCdE,并且包括了中文---**']
    print(s_zh.split(" "))  # ['***This', 'is', 'a', 'test,and', 'include', 'letter、numbers', '1,2,3', 'and', 'up-letter', 'ABcDe', 'aBCdE,并且包括了中文---**']
    print(s_zh.split("a",1))  # ['***This is ', ' test,and include letter、numbers 1,2,3 and up-letter ABcDe aBCdE,并且包括了中文---**']
    print(s_zh.rsplit("a",1))  # ['***This is a test,and include letter、numbers 1,2,3 and up-letter ABcDe ', 'BCdE,并且包括了中文---**']
    
    # 3、将特定字符串替换成另一种字符串  ---> replace("old","new",count)
    print(s_zh.replace(" ","%"))  # ***This%is%a%test,and%include%letter、numbers%1,2,3%and%up-letter%ABcDe%aBCdE,并且包括了中文---**
    print(s_zh.replace(" ","%",2))  # ***This%is%a test,and include letter、numbers 1,2,3 and up-letter ABcDe aBCdE,并且包括了中文---**
    
    # 4、将列表中每个值添加进字符串中  ---> "str".join(intrable) :以 . 为分界将 interable 中每个元素组合成字符串
    ls = ["","需要","","这个","列表","添加","","字符串中"]
    print("".join(ls))  # 我需要将这个列表添加进字符串中
    print(".".join(ls))  # 我.需要.将.这个.列表.添加.进.字符串中
    
    # 5、统计字符串中特定字符出现的次数  ---> count(str, start_index=None, end_index=None)
    print(s_zh.count("i"))  # 3
    
    # 6、根据字符取索引  ---> index(str[, start[, end]])
    print(s_zh.index("i"))  # 5 --> 从左到右第一个
    
    # 7、 以特定字符开头及结尾  --->  startwith(str[, start[, end]])  /  endwith(str[, start[, end]])
    print(s_zh.startswith("*"))  # True
    print(s_zh.endswith("-"))  # False
    
    # 8、判断字符串内部是否是自然数、纯字母、字符串或字母、汉字  ---> isdigit()  /  isalpha()  /   isalnum()
    # isdigit  -->  判断是否为纯数字(自然数,不包括罗马数字、汉字等)
    # isalpha  -->  判断是否为纯字母或汉字
    # isalnum  -->  判断是否为字母或汉字或数字(所有类型的数字)
    # isnumeric  --> 判断是否为数字(所有类型的数字)
    
    print("".isnumeric())  # True
    print("".isdigit())  # False
    print("".isalnum())  # True
    print("a1".isalpha())  # False
    
    # 9、字符串的大写小写  --> upper  lower  captialize  title 
    s_zh1 = "this is a test,and include letter、numbers 1,2,3 and up-letter abcde abcde"
    print(s_zh1.upper())  # ***THIS IS A TEST,AND INCLUDE LETTER、NUMBERS 1,2,3 AND UP-LETTER ABCDE ABCDE,并且包括了中文---**
    print(s_zh1.lower())  # ***this is a test,and include letter、numbers 1,2,3 and up-letter abcde abcde,并且包括了中文---**
    print(s_zh1.capitalize())  # This is a test,and include letter、numbers 1,2,3 and up-letter abcde abcde
    print(s_zh1.title())  # This Is A Test,And Include Letter、Numbers 1,2,3 And Up-Letter Abcde Abcde

    2、列表操作及其常用方法 

      (1)常用操作

    """
    基本操作
    """
    ls = [1,2,3,"a",'b','c',"",'']
    
    # 1、取值
    print(ls[2])  # 3
    
    # 2、切片
    print(ls[::-1])  # ['钱', '赵', 'c', 'b', 'a', 3, 2, 1]
    
    # 3、拼接
    print(ls + ["1",2,3])  # [1, 2, 3, 'a', 'b', 'c', '赵', '钱', '1', 2, 3]
    
    # 4、长度
    print(len(ls))  # 8
    
    # 5、成员运算  in  not in
    # 6、遍历:使用for循环,循环遍历列表

      (2)列表的常用方法

    """
    常用方法
    """
    # 1、增
    ls.append("append")
    print(ls)  # [1, 2, 3, 'a', 'b', 'c', '赵', '钱', 'append']
    
    ls.insert(3,"insert")
    print(ls)  # [1, 2, 3, 'insert', 'a', 'b', 'c', '赵', '钱', 'append']
    
    ls.extend([100,200,300])
    print(ls)  # [1, 2, 3, 'insert', 'a', 'b', 'c', '赵', '钱', 'append', 100, 200, 300]
    
    # 2、删
    ls.remove("append")
    print(ls)  # [1, 2, 3, 'insert', 'a', 'b', 'c', '赵', '钱', 100, 200, 300]
    
    ls.pop(3)  #  --> 可以删除指定index的值,默认删除最后一个
    print(ls)  # [1, 2, 3, 'a', 'b', 'c', '赵', '钱', 100, 200, 300]
    
    # ls.clear() # 将列表中值进行删除
    
    # 3、改
    ls[1] = 22
    print(ls)  # [1, 22, 3, 'a', 'b', 'c', '赵', '钱', 100, 200, 300]
    
    # 4、查
    print(ls.index(""))  # 6
    print(ls.count("a")) # 1  --> 查询指定字符串出现次数
    
    # 5、其它方法
    ls.reverse()
    print(ls)  # [300, 200, 100, '钱', '赵', 'c', 'b', 'a', 3, 22, 1]
    
    ls1 = ['a','d','c','f','e','g']
    ls1.sort(reverse=True)
    print(ls1)  # ['g', 'f', 'e', 'd', 'c', 'a'] --> 只能对同种类型的数据进行排序
    
    # ls.copy()  --> 浅拷贝,只是复制列表容器本身及内部的内存地址,不会复制列表中元素本身

    其它内容:

    1、数字的操作

    数字类型直接的相互转化
    a = 10
    b = 3.74
    c = True
    print(int(a), int(b), int(c)) # 10 3 1
    print(float(a), float(b), float(c)) # 10.0 3.74 1.0
    print(bool(a), bool(b), bool(c)) # True True True
     

          

      

  • 相关阅读:
    手撕面试官系列(十一):BAT面试必备之常问85题
    手撕面试官系列(十):面试必备之常问Dubbo29题+MySQL55题
    手撕面试官系列(九):分布式限流面试专题 Nginx+zookeeper
    手撕面试官系列(八):分布式通讯ActiveMQ+RabbitMQ+Kafka面试专题
    手撕面试官系列(七):面试必备之常问并发编程高级面试专题
    手撕面试官系列(六):并发+Netty+JVM+Linux面试专题
    手撕面试官系列(五):Tomcat+Mysql+设计模式面试专题
    手撕面试官系列(四 ):MongoDB+Redis 面试专题
    手撕面试官系列(三):微服务架构Dubbo+Spring Boot+Spring Cloud
    linux 使用socket代理
  • 原文地址:https://www.cnblogs.com/lice-blog/p/10725883.html
Copyright © 2011-2022 走看看