• python笔记005-字符串-列表-元组


    目录

    1 上次作业补充拓展... 1

    1.1 进制转换... 1

    1.2 类型判断... 1

    2 今日学习内容... 2

    2.1 格式化输出... 2

    2.2 基本运算符... 2

    2.2.1 算术运算... 2

    2.2.2 比较运算... 2

    2.2.3 赋值运算... 3

    2.2.4 逻辑运算... 3

    2.3 编码... 3

    2.3.1 存储单位... 3

    2.3.2 编码... 4

    2.4 切片... 4

    2.4.1 切片处理... 4

    2.4.2 字符串处理... 4

    2.4.3列表处理... 8

    1 上次作业补充拓展

    1.1 进制转换

           format()

       补充:‘b’二进制 ‘o’八进制 ‘d’十进制 ‘x’十六进制

               例:print(format(number,'b'))

               int(string,number)将任意进制的字符转化为十进制

    1.2 类型判断

       type() 查询类型

           isinstance() 判断一个对象是否是一个已知的类型,如若需要判断两个类型是否相同,推荐使用此函数

           isinstance(object,classinfo) classinfo 可以直接是或间接类名,基本类型或者是它们构成的元组

           isinstance()返回一个布尔类型

           raise 显示引发的异常,程序出错时Python自动触发异常,也可以通过raise显示引发的异常。(相当于抛出异常)

           执行raise后,后面的程序不再运行

    2 今日学习内容

    2.1 格式化输出

           %s 字符占位符

           %d 数字占位符

    注意:"%d" 在Python中是不存在的,一般用%%表示字符串中%。但是如果语句中没有%d,%s等占位符,直接写一个%就好。

    2.2 基本运算符

    2.2.1 算术运算

                       + - * / %(取余数) //(取整除) **(幂)

    2.2.2 比较运算

                     == != <>(不等于) > < >= <=

    2.2.3 赋值运算

                     = +=(自增运算) -=(自减运算) *= /=

                    //= %=

                   **=(幂等 a ** = b 等价于 a = a*a*b)

    2.2.4 逻辑运算

                    or and not

                   逻辑运算的优先级顺序 :

                   () > not > and >or

    2.3 编码

    2.3.1 存储单位

    bit 最小的存储单位

    8 bit = 1 Byte 一字节

    1024 B = 1 KB (KiloByte) 千字节

    1024 KB = 1 MB (MegaByte) 兆字节

    1024 MB = 1 GB (GigaByte) 吉字节

    1024 GB = 1 TB (TeraByte) 太字节

    1024 TB = 1 PB (PetaByte) 拍字节

    1024 PB = 1 EB (ExaByte) 艾字节

    1024 EB = 1 ZB (ZetaByte) 泽字节

    1024 ZB = 1 YB (YottaByte) 尧字节

    1024 YB = 1 BB (Brontobyte) 珀字节

    1024 BB = 1 NB (NonaByte) 诺字节

    1024 NB = 1 DB (DoggaByte) 刀字节

    2.3.2 编码

    ASCII :最多支持256个字符。具体内容请自行百度

    GBK :仅限中国地区使用,每个字符占16位(2字节)

     Unicode :万国码

    UTF-8 :每个字符最少占8位

    UTF-16: 每个字符占16位

    2.4 切片

    2.4.1 切片处理

    使用下标来获取部分字符串内容

    print(字符串名[开始位置:结束位置:截取步长]

    注意:截取顾头不顾尾,设置步长则会进行跳跃式截取

    2.4.2 字符串处理

    ①  str.capitalize() :字符串首字母大写

    ②  str.lower() :字符串全部小写

    ③  str.upper() :字符串全部大写

    ④  str.title() :字符串每个单词首字母进行大写

    ⑤  str.center() :字符串居中处理

    ⑥  str.strip() :去除字符串左右两端空格

    ⑦  str.lstrip() :去除字符串左边空格

    ⑧  str.rstrip() :去掉字符串右边空格

    ⑨  str.replace("要被更换的内容","更改的内容")

    字符串的部分替换

    str.split("切割标记") :对字符串按标记进行切割

    注意:字符串的位置不同,导致截取的结果可能也不同(注意缩进)

    s9 = """

    左牵黄

    右擎苍

    锦帽貂裘

    千骑卷平冈

    为报倾城随太守

    亲射虎

    看孙郎

    """

    print(s9.split(" "))

    输出结果:

    ['', '左牵黄', '右擎苍', '锦帽貂裘', '千骑卷平冈', '为报倾城随太守', '亲射虎', '看孙郎', '']

    情况二:

    s9 = """左牵黄

    右擎苍

    锦帽貂裘

    千骑卷平冈

    为报倾城随太守

    亲射虎

    看孙郎"""

    print(s9.split(" "))

    输出结果:

    [ '左牵黄', '右擎苍', '锦帽貂裘', '千骑卷平冈', '为报倾城随太守', '亲射虎', '看孙郎']

    所以需要注意,字符串的位置不同,导致截取的结果可能也不同

    str = "XXX%s,XXX%s"%(内容一,内容二)

    str = "XXX{},XXX{}".format(内容一,内容二)

    注意:如无特别注明,默认按照顺序打印对应内容,不同的出入方式,所打印的结果也可能会有所不同

    例:

    str = "我叫{},今年{}岁了".format("kaka",2)

    str = "我叫{name},今年{age}岁了".format(name ="kaka",age = 2)

    str = "我叫{1},今年{2}岁了".format("kaka",2)

    ①  str.startswith("要判断的文字") :  判断字符串的开头,返回布尔类型

    ②  str.endswith("要判断的文字"):判断字符串的结尾,返回布尔类型

    ③  str.count("要统计的文字"):统计字符串中某字符出现的次数

    ④  str.find("要查找的文字"):查找字符串中的某个字符位置,如果未查询到,返回 -1

    ⑤  str.find("要查找的文字",开始位置,结束位置):从指定位置查找字符(切片式查找),找到第一个出现的位置。如果未查询到,返回-1

    ⑥  str.index("要查找的字符"):查找特定字符的位置,如果未查询到,报告错误

    ⑦  str.isalnum() :判断字符串是否全是字母或数字组成

    ⑧  str.isalpha() :判断字符串是都全是字母组成       注意:判断时,空格也会被进行判断

    ⑨  str.isdigit() :判断字符串是否只由数字组成。

    ⑩  str.islower() :判断字符串是否由小写字母组成。

    ⑪  str.isnumeric() :判断字符串是否只由数字组成。注意:一、这种方法是只针对unicode对象。二、定义一个字符串为Unicode,只需要在字符串前添加 'u' 前缀即可

    ⑫  str.isspace() :判断字符串是否只由空格组成

    ⑬  str. istitle() :判断字符串中所有的单词拼写首字母是否为大写,且其他字母为小写。

    ⑭  str.isupper():判断字符串中所有的字母是否都为大写

    ⑮  str.join(要连接的元素序列) :将序列中的元素以指定的字符连接生成一个新的字符串

    2.4.3列表处理

    2.4.3.1 常见操作

    len(对象名):当前字符串长度(内置函数,可直接调用)

    print(list[索引下标])

    print(list[索引下标][元素内字符下标])

    print(list[索引开始下标:索引结束下标:截取步长])

    注意:截取顾头不顾尾,设置步长则会进行跳跃式截取,“-”代表倒取,即从末端位置反向截取

    2.4.3.2 列表的增删改查操作

    2.4.3.2.1 增

    增 append方法(末端添加)

    例:

    list = []

    while True:

    content = input("请输入您的信息,输入Q退出!!!")

    if content.upper() == 'Q':

    break

    list.append(content)

    print(list)

    2.4.3.2.2 删

    pop方法

           注意:pop(指定位置下标),下标若未指明,则默认删除最后一个

    del方法(切片式删除)

           del[删除开始位置:删除结束位置]

    改(切片式修改)

           list[开始下标:结束下标:截取步长]= [对应修改的元素]

           注意:截取顾头不顾尾,设置步长则会进行跳跃式截取,“-”代表倒取,即从末端位置反向截取

    2.4.3.3 输出

    循环输出

           for item in 列表名:

                  print(item)

    2.4.3.4 列表的嵌套

    采用降维操作,一层一层的去找,切勿心急

    例:

    list = ["张三","李四","王五","赵六","田七",["CXK","101","Sky","801","183"]]

    print(list[-1][0:2])

    输出结果

    ['CXK', '101']

    2.4.3.5 元组的嵌套

           元组元素不可修改,但是如果其中嵌套的有列表等可变形式,那么这个可变形式中的元素可以进行修改。

           换言之,元组的不可变性只针对子元素,如若子元素的内部是可变对象,那么,元组中的子元素的子元素是可变的。

    参考笔记:https://home.cnblogs.com/u/tjlhappyboy/ 感谢博主

  • 相关阅读:
    Timer定时任务
    spring boot配置多数据源
    消费者模块调用提供者集群报错
    修改windHost文件
    spring常用注解+Aop
    添加ClustrMaps
    无题
    2020年3月21日 ICPC训练联盟周赛,Benelux Algorithm Programming Contest 2019
    2020年3月14日 ICPC训练联盟周赛,Preliminaries for Benelux Algorithm Programming Contest 2019
    2020.4.12 个人rating赛 解题+补题报告
  • 原文地址:https://www.cnblogs.com/oito/p/11217727.html
Copyright © 2020-2023  润新知