• day03_顺丰快递分拣小程序


    一、又见str

    1.1 字符串定义

    字符串是⼀个有序的字符的集合,⽤于在计算机⾥存储和表示⽂本信息

    s = "Hello, my name is Alex,golden king."
    
    • 1

    可进⾏切⽚操作

    >>> s
    'Hello, my name is Alex,golden king.'
    >>> s[3:6] # 顾头不顾尾
    'lo,'
    >>> s[1:5]
    'ello'
    >>> s[0:5]
    'Hello'
    >>>
    >>> s[3:10]
    'lo, my '
    >>>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    不可变,字符串是不可变的,不能像列表⼀样修改其中某个元素,所有对字符串的修改操作其实都是相当于⽣成了⼀份新数据。

    1.2 字符串常用操作

    1.2.1 str.center(width[, fillchar])

    Python字符串center()方法以字符串宽度(width)为中心。使用指定的填充字符(fillchar)填充完成。默认填充字符(fillchar)是一个空格。
    在这里插入图片描述

    1.2.2 str.count(sub, start= 0,end=len(string))

    count() 方法用于统计字符串里某个字符或子字符串出现的次数。可选参数为在字符串搜索的开始与结束位置。

    • sub – 搜索的子字符串
    • start – 字符串开始搜索的位置。默认为第一个字符,第一个字符索引值为0。
    • end --字符串中结束搜索的位置。字符中第一个字符的索引为 0。默认为字符串的最后一个位置。
      在这里插入图片描述

    1.2.3 str.encode(encoding=‘UTF-8’,errors=‘strict’)

    encode() 方法以 encoding 指定的编码格式编码字符串。errors参数可以指定不同的错误处理方案,默认为 ‘strict’,意为编码错误引起一个UnicodeError。 其他可能的值有 ‘ignore’, ‘replace’, ‘xmlcharrefreplace’, ‘backslashreplace’ 以及通过codecs.register_error() 注册的任何值。
    在这里插入图片描述

    1.2.4 str.endswith(suffix[, start[, end]])

    endswith() 方法用于判断字符串是否以指定后缀结尾,如果以指定后缀结尾返回 True,否则返回 False。可选参数 “start” 与 “end” 为检索字符串的开始与结束位置。suffix – 该参数可以是一个字符串或者是一个元素。

    在这里插入图片描述

    1.2.5 str.find(str, beg=0, end=len(string))

    find() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始,默认为0) 和 end(结束,默认字符串的长度) 范围,则检查是否包含在指定范围内,如果指定范围内如果包含指定索引值,返回的是索引值在字符串中的起始位置。如果不包含索引值,返回-1。

    >>>info = 'abca'
    >>> print(info.find('a'))      # 从下标0开始,查找在字符串里第一个出现的子串,返回结果:0
    0
    >>> print(info.find('a', 1))   # 从下标1开始,查找在字符串里第一个出现的子串:返回结果3
    3
    >>> print(info.find('3'))      # 查找不到返回-1
    -1
    >>>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    1.2.6 str.isdigit()

    isdigit() 方法检测字符串是否只由数字组成。如果字符串只包含数字则返回 True 否则返回 False。(即不接受其他一切非 [0-9] 元素)

    >>> import sys
    >>> sys.version
    '3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)]'
    >>> '777'.isdigit()
    True
    >>> '33d'.isdigit()
    False
    >>> '33在'.isdigit()
    False
    >>> '-23'.isdigit()
    False
    >>> '0.32'.isdigit()
    False
    >>> (2>3).isdigit() #入参类型不合法
    Traceback (most recent call last):
      File "", line 1, in 
    AttributeError: 'bool' object has no attribute 'isdigit'
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    1.2.7 str.join(sequence)

    join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。

    s1 = "-"
    s2 = ""
    seq = ("r", "u", "n", "o", "o", "b") # 字符串序列
    print (s1.join( seq ))  # r-u-n-o-o-b
    print (s2.join( seq ))  # runoob
    
    • 1
    • 2
    • 3
    • 4
    • 5

    1.2.8 str.replace(old, new , max)

    replace()方法是把字符串中的old(旧子字符串)替换成new(新子字符串),如果指定第三个参数max,则替换次数不超过max次(将旧的字符串用新的字符串替换不超过max次),默认全部替换。
    (1)当不将max参数传入时,默认将所有old字符或者字符串替换为new字符或者字符串;
    (2)当我们将max参数传入后,则将旧字符串替换为新字符串不超过max次,多余的则不进行替换。

    str = "www.linuxidc.com"
    
    print ("Linux公社:", str)
    
    print ("Linux公社:", str.replace("linuxidc.com", "linuxidc.net"))
    
    str = "www.linuxmi.com linuxmi linuxmi"
    
    print (str.replace("mi", "idc", 2))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    在这里插入图片描述

    1.2.9 str.split(str=“”, num=string.count(str))

    1. str – 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
    2. num – 分割次数。默认为 -1, 即分隔所有。
    str = "this is string example....wow!!!"
    print (str.split( ))       # 以空格为分隔符  ['this', 'is', 'string', 'example....wow!!!']
    print (str.split('i',1))   # 以 i 为分隔符  ['th', 's is string example....wow!!!']
    print (str.split('i',2))   # 以 i 为分隔符  ['th', 's ', 's string example....wow!!!']
    print (str.split('w'))     # 以 w 为分隔符  ['this is string example....', 'o', '!!!']
    
    txt = "Google#Runoob#Taobao#Facebook"
    # 第二个参数为 1,返回两个参数列表
    x = txt.split("#", 1)
    print(x)   # ['Google', 'Runoob#Taobao#Facebook']
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    1.2.10 str.startswith(substr, beg=0,end=len(string))

    startswith() 方法用于检查字符串是否是以指定子字符串开头,如果是则返回 True,否则返回 False。如果参数 beg 和 end 指定值,则在指定范围内检查。

    • str – 检测的字符串。
    • substr – 指定的子字符串。
    • strbeg – 可选参数用于设置字符串检测的起始位置。
    • strend – 可选参数用于设置字符串检测的结束位置。
    str = "this is string example....wow!!!"
    print (str.startswith( 'this' ))   # 字符串是否以 this 开头  True
    print (str.startswith( 'string', 8 ))  # 从第九个字符开始的字符串是否以 string 开头 True
    print (str.startswith( 'this', 2, 4 )) # 从第2个字符开始到第四个字符结束的字符串是否以 this 开头 False
    
    • 1
    • 2
    • 3
    • 4

    1.2.11 str.strip([chars])

    strip() 方法用于移除字符串头尾指定的字符(默认为空格)或字符序列。
    注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。

    str = "*****this is **string** example....wow!!!*****"
    print (str.strip( '*' ))  # 指定字符串 *    输出:this is **string** example....wow!!!
    
    str = "123abcrunoob321"
    print (str.strip( '12' ))  # 字符序列为 12    输出:3abcrunoob3
    
    • 1
    • 2
    • 3
    • 4
    • 5

    只要头尾包含有指定字符序列中的字符就删除

    二、又见list

    []内以逗号分隔,按照索引,存放各种数据类型,每个位置代表⼀个元素,可修改指定索引位置对应的值,可变

    2.1 增加

    追加,数据会追加到尾部

    >>> names['alex', 'jack']
    >>> names.append("rain")
    >>> names.append("eva")
    >>>
    >>> names['alex', 'jack', 'rain', 'eva']
    
    • 1
    • 2
    • 3
    • 4
    • 5

    插⼊,可插⼊任何位置

    >>> names.insert(2,"⿊姑娘")
    >>> names['alex', 'jack', '⿊姑娘', 'rain', 'eva']
    
    • 1
    • 2

    合并,可以把另⼀外列表的值合并进来

    >>> n2 = ["狗蛋","绿⽑","鸡头"]
    >>> names=['alex', 'jack', '⿊姑娘', 'rain', 'eva']
    >>> names.extend(n2)
    >>> names['alex', 'jack', '⿊姑娘', 'rain', 'eva', '狗蛋', '绿⽑', '鸡头']
    
    • 1
    • 2
    • 3
    • 4

    列表嵌套

    >>> names.insert(2,[1,2,3])
    >>> names ['alex', 'jack', [1, 2, 3], '⿊姑娘', 'rain', 'eva', '狗蛋', '绿⽑', '鸡头']
    >>> names[2][1]
    >>> 2
    
    • 1
    • 2
    • 3
    • 4

    2.2 删除

  • 相关阅读:
    数据库设计三大范式
    安装Scala
    Mysql高级——索引
    企业如何使用CRM客户管理系统全面了解客户
    LeetCode90. 子集 II
    git 进阶
    Spring路径匹配器AntPathMatcher
    以动态规划的方式求解最长回文子串
    设计模式之命令模式
    Vue---keep-alive组件的使用,缓存组件
  • 原文地址:https://blog.csdn.net/weixin_43857827/article/details/126304561