Python 第六节课

字符串

常见的

  • S.find & S.index (返回该元素最小的索引
    s1 = “hello python”
    print(s1.find(“e”)) --> 1 (返回最小的索引)
    print(s1.find(“0”)) --> 4 (因为最小)
    print(s1.find(“c”)) --> -1 (不会报错,没被找到返回-1)
    print(s1.index(“c”)) --> substring not found(index与find作用相同,区别在于s.index查询不存在的字符串时,会报错。而s.find返回-1)
  • S.replace (替换
    s2 = “hello oldoldamy”
    print(s2.replace(“old”), “beautiful”) --> hello beautifulbeautifulamy (默认:全部替换)
    print(s2.replace(“old”), “beautiful”, 1) --> hello beautifuloldamy (count:指定替换次数)
    print(s2) --> hello oldoldamy (因为是“copy of s”,以未没有改变s2本身)
  • S.split (以sep来分割字符串)
    s3 = “hello everybody yeyeye!”
    print(s3.split (" ") --> “hello”, “everybody”, “yeyeye!” (以控股字符串进行分割,那空格字符串消失,返回列表)
  • S.startwith & S.endwith (判断是否为bool值
    s4 = “hello everybody yeyeye!”
    print(s4.startwith(“h”)) --> True (用于判断字符串以什么前缀开始,返回为bool值)
    print(s4.endwith(“ye!”)) --> True (用于判断字符串以什么尾缀结束,返回为bool值)
  • S.lower & S.upper (将字符串转为大小写
    s5 = “n”
    print(s5.upper()) --> N
    s6 = “N”
    print(s6.lower()) --> n
  • S.strip (去除字符串空格
    s7 = " 一代 明君"
    print(s7.strip()) --> 一代 明君 (可以移除首尾空格)
    print(s7.replace(" ", “”)) --> 一代明君 (可以去除中间空格)
  • S.join
    s8 = “你好”
    print(" “.join(s8)) --> 你 好 (字符串序列–>一个个取出它的元素–>可以迭代的(interable))
    li = [“你好”, “世界”]
    print(” ".join(li)) --> 你好 世界

字节

字节的介绍

  • 在Python3以后,字符串和bytes类型彻底分开。字符串是以字符为单位进行处理,bytes类型是以字节为单位处理的。
  • bytes也是不可变的序列对象
  • Python3中,bytes通常用于网络数据传输

字节创建

  • 创建字节:b""
    bt_01 = b’hello’
    print(type(bt_01)) --> ,<lass ‘bytes’>
  • 创建字节:bytes(string, encoding[, errors])
    bt_2 = bytes(“hello”, encoding=""utf8)
    print(bt_2) --> b’hello’
  • 字节与字符串转换
    • bytes(字节) 转为 str(字符串) (解码
      bt_1 = b’world’
      print(bt_1, decode()) --> world
    • str(字符串) 转为 bytes(字节) (编码
      s_2 = “world”
      print(s_2.encode()) --> b’world’

列表

列表介绍

  • 列表是Python中最常用的数据结构之一,Python的列表是一个有序可重复的元素,是一个可变长度。
  • 创建:以英文状态下的[]创建空的列表
    li = []
    print(type(li)) --> <class ‘list’>
  • 元素可以是任意类型的,元素可以重复
    li_2 = [“clara”, 21, 20.5, True, 21]
    pritn(li_2) -->[“clara”, 21, 20.5, True, 21]
    print(type(li_2)) --> <class ‘list’>
  • list(iterable) 可迭代的意味着可以将元素逐个取出
    pritn(list(“hello”)) --> [‘h’, ‘e’, ‘l’, ‘l’, ‘o’]
  • 整数不是序列类型,他说整体存储
    print(list(12345)) --> 错误
    print(list(“12345”)) --> [‘1’, ‘2’, ‘3’, ‘4’, ‘5’]

访问(查)列表内地元素

  • 下标默认从0开始从下标索引超过长度范围会报错
    li = [1, 2]
    print(li[0]) --> 1
    print(li[2]) --> list index out of range 报错
  • 修改列表内的元素(直接取出元素进行重新赋值
    li_2 = list(abc)
    li_2[0] = A
    print(li_2) --> Abc
  • 删除列表内的元素(直接取出元素,再通过del语句或者list,remove()或者list.pop())
    • 直接取出元素,再通过del语句
      li_3 = (list"123456") --> [‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’]
      del li_3[0]
      print(li_3) --> [‘2’, ‘3’, ‘4’, ‘5’, ‘6’]
    • list.remove()(改变的是li_4本身,没有返回值,应该打印列表本身)
      li_4 = (list"123456") --> [‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’]
      li_4.remove(“2”)
      print(li_4) --> [‘1’, ‘3’, ‘4’, ‘5’, ‘6’]
    • list.pop()(默认是从最后开始弹出,如果传出index,那就删除index对应的元素)
      li_5 = (list"123456") --> [‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’]
      li_5.pop()
      print(li_5) --> [‘1’, ‘2’, ‘3’, ‘4’, ‘5’]

列表的特殊操作

  • 列表的拼接或展开
    li_1 = [‘1’, ‘2’, ‘3’]
    li_2 = [‘4’, ‘5’, ‘6’]
    print(li_1 + li_2) --> [‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’]
    print(li_1 * 4) --> [‘1’, ‘2’, ‘3’, ‘1’, ‘2’, ‘3’, ‘1’, ‘2’, ‘3’, ‘1’, ‘2’, ‘3’,]
  • 列表的成员判断
  • 列表的迭代

列表常用内置函数

  • 内置的方法或函数
    print(type(len)) --> <class ‘built in_function_or_method’>
    print(type(max)) --> <class ‘built in_function_or_method’>
    print(type(min)) --> <class ‘built in_function_or_method’>
  • len() (返回长度买也可以理解为元素的个数)
    li = list(“abc”)
    print(len(li)) --> 3
  • max() & min()(字符串与字符串的比较是用ASCII)
    li = list(“abc”)
    print(max(li)) --> c
    print(min(li)) --> a
  • int与str不能使用>或<进行比较
    li_2 = [‘a’, 2, 1]
    print(max(li_2)) --> 报错

列表的排序与反转

  • 逆序取出,没有返回值
    li_3 = [1, 2, 34, 4, 5, 6, 4, 7, 10]
    print(li_3[::-1]) --> [10, 7, 4, 6, 5, 4, 34, 2, 1]
    li_3.reverse()
    print(li_3) --> [10, 7, 4, 6, 5, 4, 34, 2, 1]
  • L.sort (排序)
    li_3 = [1, 2, 34, 4, 5, 6, 4, 7, 10]
    li_3.sort
    print(li_3) --> [1, 2, 4, 4, 5, 6, 7, 10, 34]
  • L.sort(reverse=True) 降序(将升序排序后的结果反过来)
    li_3 = [1, 2, 34, 4, 5, 6, 4, 7, 10]
    li_3.sort(reverse=True)
    print(li_3) --> [34, 10, 7, 6, 5, 4, 4, 2, 1]

列表的切片

  • 起始为0,左闭右开,步长默1,不能为浮点数不能为0
    li_4 = list(“1234567”) --> [‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’]
    print(li_4[1:4]) --> [‘2’, ‘3’, ‘4’]
    print(li_4[1:4:1]) --> [‘2’, ‘3’, ‘4’]
    print(li_4[1:6:2]) --> [‘2’, ‘4’, ‘6’]
    print(li_4[1::2]) --> [‘2’, ‘4’, ‘6’]
  • 嵌套列表
    li_5 = [1, 2, 3, [“amy”, 1]]
    print(li_5[3][0]) --> “amy”
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值