day 7

day 7

字符串的其他内置方法

  1. 移除字符串首尾的指定字符,可以选择方向

    s1 = '$$$jason$$$'
    print(s1.strip('$'))
    print(s1.lstrip('$'))
    print(s1.rstrip('$'))
    
  2. 大小写相关操作

    s2 = 'JAHSKDsldjasl'
    print(s2.lower())    #将所有的英文变为小写
    print(s2.upper())    #将所有的英文字母变为大写
    print(s2.islower())   #判断字符串中所有的英文字母是否纯小写,结构是布尔值
    print(s2.isupper())     #判断字符串中所有的英文字母是否纯大写,结果是布尔值
    
  3. 判断字符串的开头或者结尾是否是指定的字符

    s3 = 'jason kevin jason tony 666'
    print(s3.startswith('j'))      # True
    print(s3.startswit('jason'))    # True
    print(s3.endswith('6'))         # True
    print(s3.endswith('jason'))      # False
    
  4. 格式化输出

    方式1: 占位符 %s %d

    方式2: format方法 有三种用法

    ​ 用法1:和占位符一致,使用{ }占位

    print('my name is {} my age is {}'.format('jason','18'))
    

    ​ 用法2:根据索引取值,可以反复使用

    print('my name is {0} {0} my age is {0}{1}'.format('jason',18))
    

    ​ 用法3: 根据指名道姓的方式取值

    print('my name is {name} {name} my age is {age} {pwd}'.format(name='jason',age=18,pwd=123))
    

    ​ 用法4: 直接使用已经出现过的变量

    name = 'jason'
    age = 18
    print(f'my name is {name} my age is {age}')
    
  5. 拼接字符串

    s1 = '三月不努力 四月变垃圾'
    s2 = '年少不努力 妄为少年人'
    print(s1 + s2)  # 如果字符串很大 加号效率较低
    print(s1 * 10)  # 重复次数
    print('|'.join(s1))  # 三|月|不|努|力| |四|月|变|垃|圾
    print('$'.join(['jason', 'kevin', 'justin', 'tony']))  # jason$kevin$justin$tony
     l1 = [11, 'jason', 'kevin']
     print('|'.join(l1))  # join的元素必须都是字符串才可以 否则报错
    
  6. 替换字符串中指定的字符

    s6 = 'jason is DSB DSB DSB DSB jason jason jason'    # 将Jason替换成老刘
    print(s6.replace('jason', '老刘'))    # 默认一次性替换所有
    # 指定替换的个数
    print(s6.replace('jason', '老刘', 2))    #还可以通过数字控制替换的个数,从左往右
    
  7. 判断字符串中是否是纯数字

    s7 = 'jason123'
    print(s7.isdigit())  # False
    print('123'.isdigit())  # True
    print('123.21'.isdigit())  # False
    
  8. 了解的操作

    # 1.查找指定字符对应得索引值
      s1 = 'jason justin kevin tony'
      print(s1.find('s'))  # 从左往右查找 查找一个就结束  
      print(s1.find('k', 1, 9))  # -1 意思是没有 找不到
      print(s1.index('s'))
      print(s1.index('k', 1, 9))  # 找不到直接报错 不推荐使用
    # 2.文本为止得改变
      name = 'tony'
      print(name.center(30,'-'))   # -------------tony-------------
      print(name.ljust(30, '*'))    # tony**************************
      print(name.rjust(30, '$'))    # $$$$$$$$$$$$$$$$$$$$$$$$$$tony
      print(name.zfill(50))    # zero 零  0000000000000000000000000000000000000000000000tony
       # 3. 特殊符号:斜杠与一些英文字母的组合会产生特殊的含义
       print('ja\tson\nke\avin')
     #  如果想要取消他们的特殊含义,可以在字符串的前面加一个字母r
       print(r'ja\tson\nke\avin') 
       # 4.captalize,swapcase,title
        #  captalize:首字母大写
         message = 'hello everyone nice to meet you!'
          message.capitalize()  
        #  swapcase:大小写翻转
        message1 = 'Hi girl, I want make friends with you!'
        message1.swapcase()
       #   title:每个单词的首字母大写
       msg = 'dear my friend i miss you very much'
        msg.title()
    

    列表内置方法

    1. 类型转换

      print(list(11))  # 不行
      print(list(11.11))  # 不行
      print(list('jason'))  # ['j', 'a', 's', 'o', 'n']
      print(list({'name': 'jason', 'pwd': 123}))  # ['name', 'pwd']
      print(list((11,22,33,44,55)))  # [11, 22, 33, 44, 55]
      print(list({1, 2, 3, 4, 5}))  # [1, 2, 3, 4, 5]
      print(list(True))    # 不行
      '''list可以转换for循环的数据类型,可以被for循环的数据类型  字典  列表   字符串  元组  集合'''
      
    2. 索引取值

      name_list = ['jason', 'kevin', 'tony', 'tom', 'jerry']
      print(name_list[0])
       print(name_list[-1])
      
    3. 切片操作

      name_list = ['jason', 'kevin', 'tony', 'tom', 'jerry']
      print(name_list[1:4])  # ['kevin', 'tony', 'tom']
      print(name_list[-4:-1])  # ['kevin', 'tony', 'tom']
      print(name_list[-1:-4:-1])  # ['jerry', 'tom', 'tony']
      
    4. 间隔

      name_list = ['jason', 'kevin', 'tony', 'tom', 'jerry']
       print(name_list[0:4:1])    # ['jason', 'kevin', 'tony', 'tom']
       print(name_list[0:4:2])  # ['jason', 'tony']
       print(name_list[-1:-4:-1])  # ['jerry', 'tom', 'tony']
      
    5. 统计列表中元素的个数

      name_list = ['jason', 'kevin', 'tony', 'tom', 'jerry']
      print(len(name_list))  # 5
      
    6. 成员运算

      最小判断单位是元素不是元素里面的单个字符

      name_list = ['jason', 'kevin', 'tony', 'tom', 'jerry']
      print('j' in name_list)  # False
      print('jason' in name_list)  # True
      
    7. 列表添加元素的方式

      尾部追加'单个'元素

      name_list = ['jason', 'kevin', 'tony', 'tom', 'jerry']
      name_list.append('小李')
      

      指定位置插入单个元素

      name_list = ['jason', 'kevin', 'tony', 'tom', 'jerry']
      name_list.insert(0, 123)
      name_list.insert(2, '可不可以插个队')
      

      合并列表

      name_list = ['jason', 'kevin', 'tony', 'tom', 'jerry']
      name_list.extend([11, 22, 33, 44, 55])
      print(name_list)
      
    8. 删除元素

      通用的删除方式

      name_list = ['jason', 'kevin', 'tony', 'tom', 'jerry']
      del name_list[0]
      print(name_list)
      

      就地删除

      指名道姓的直接删除某个元素

      name_list = ['jason', 'kevin', 'tony', 'tom', 'jerry']
      print(name_list.remove('jerry'))
      

      延迟删除

      name_list = ['jason', 'kevin', 'tony', 'tom', 'jerry']
      print(name_list.pop())
      
      print(name_list.pop(2))     # 还可以索引取值
      
      

      修改列表元素

      name_list = ['jason', 'kevin', 'tony', 'tom', 'jerry']
      print(id(name_list[0]))   # 查看内存地址
      name_list[0] = 'jasonDSB'
      
    9. 排序

      ss = [44, 77, 99, 11, 22, 33, 88, 66]
      ss.sort()     # 默认是升序
      ss.sort(reverse=True)  # 可以修改尾降序
      
    10. 翻转

       ss = [44, 77, 99, 11, 22, 33, 88, 66]        ss.reverse()  # 前后颠倒
      
    11. 比较运算

      s1 = [11, 22, 33]
      s2 = [1, 2, 3, 4, 5, 6, 7, 8]
      print(s1 > s2)
      s3 = ['A', 'B', 'C']
      s4 = ['a']
      print(s3 > s4)  
      
    12. 统计列表中某个元素出现的次数

      l1 = [11, 22, 33, 44, 33, 22, 11, 22, 11, 22, 33, 22, 33, 44, 55, 44, 33]
      print(l1.count(11))  # 统计元素11出现的次数
      l1.clear()  # 清空列表
      

可变类型与不可变类型

s1 = '$$$jason$$$'
print(s1.strip('$'))  # jason  本身并没有修改 是产生了新的结果
s2 = [1, 2, 3]
print(s2.extend([11, 22, 33, 44, 55]))
"""
可变类型与不可变类型
    可变类型     列表
        值改变 内存地址不变 修改的是本身
    不可变类型   字符串
        值改变 内存地址肯定遍 修改过程产生了新的值
如何查看变量的'内存地址'
"""

队列与堆栈

队列:先进先出

堆栈:先进后出

# 使用列表模拟出队列与堆栈的特征
new_list = []
# 队列
# 先进
new_list.append(111)
new_list.append(222)
new_list.append(333)
# 先出
for i in new_list:
     print(new_list.pop(0))
     print(new_list.pop(0))
	 print(new_list.pop(0))
# 堆栈
new_list = []
# 先进
new_list.append(111)
new_list.append(222)
new_list.append(333)
# 后出
print(new_list.pop())
print(new_list.pop())
print(new_list.pop())

posted @   FYytfg  阅读(34)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
点击右上角即可分享
微信分享提示