字符串与列表的内置方法


字符串的内置方法

# 可以通过句点符(.) 查看数据有那些方法
# 通过ctrl + 鼠标左键 查看方法底层源代码
1. # 大小写转换
res = 'JaSoN222'
1. upper: 全部转换为大写   eg: print(res.upper()) 输出为:JASON222
2. lower: 全部转换为小写   eg: print(res.lower()) 输出为:jason222
 
# 可应用于用户书写验证码的大小写问题
# 这样就可以全部转为大写或全部转为小写作为比对

eg: real_code = JaSoN
    new_code = input('请输入正确的验证码:')
    if new_code.upper() == real_code.upper():   #输入lower同理
        print('欢迎进入')
    else:
        print('验证发输入错误')
        
# 判断是否为纯大写或纯小写
print(res.isupper())
print(res.islower())

2. #判断字符串是否以指定的字符开头 startswith
res = 'my name is jason'
print(res.startswith('m'))  输出为:True
print(res.startswith('i')) 输出为: False
print(res.startswith('my')) 输入为: True #可为多个字符
  #判断字符串是否以指定的字符结尾 endswith
print(res.endswith('j'))  输出为: False
print(res.endswith('n'))   输出为: False
print(res.endswith('jason')) 输出结果为:  False

3. #格式化输出 format
   第一种为: %s占位符
   第二种为: 使用{},相当于%s占位符
eg:
    mes = 'my name is{} my age is {}'
    print(mes.format('gary','20'))  #输出为 my name is gary my age is 20
   第三种: {}大括号内 可以添加索引取值打破顺序 并且可以反复使用相同位置的数据
eg:
    mes = 'my name is {0} my age is {1} my oldname is {0} today age is {1}'
    print(mes.format('jason, 20')) 
    #输出为: my name is jason my age is 20 my oldname is jason today age is 20
    第四种:{}大括号内可直接写变量名
eg:
    mes = 'my name is {name1} my age is {age1} my oldname is {name1} birth is {age2}'
    print(mes.format(name1 = 'jason', age1 = 20, age2 = 1999))
    #输出为:my name is jason my age is 20 my oldname is jason birth is 1999

    
4. #字符串的拼接
方式1 : 字符串直接相加
    print('hello' + 'world')
    输出为: helloworld
方式2 : join方法
    name_list = ['gary', 'jason', 'tony', 'jack']
    print('|'.join(name_list))
    输出为:gary|jason|tony|jack
# 注: 必须为字符串类型(在python中不同的数据类型之间无法直接操作)
      a1 = ['jason', 222, 'sss']
    print('|'.join(a1))      这样就会报错
5. #替换字符串中指定的字符
mes = 'my name is jason my age is 10'  将jason 替换为 gary
print(mes.replace('jason', 'gary'))  # 输出为 my name is gary my age is 10

# 替换指定个数的文本
mes = 'my name is jason jason jason my age is 12' 
print(mes.replace('jason', 'gary')) # 输出为 my name is gary gary gary my age is 12
print(mes.replace('jason', 'gary', 1)) # 只更换第一个文本
# 输出为 my name is gary jason jason my age is 12

6. # 判断字符串是否为纯数字
psw = 'jason2222'
print (psw.isdigit()) # False
psw = '2222'
print (psw.isdigit()) # True
eg:
    guess_age = input('请输入你猜的年龄:')
    if guess_age.isdigit():
        guess_age = int(guess_age)
    else:
        print('请输入正确的格式')
        
# 不常用方法
1. 所有单词首字母大写
mes = 'my name is jason'
print(mes.title())   # 输出为:My Name Is Jason、
2. 开头的单词首字母大写
mes = 'my name is jason'
print(mes.capitalize())  # 输出为: My name is Jason
3. 大小写互换
mes = 'XxX is HandSOme'
print(mes.swapcase())  # 输出为:xXx IS hANDsoME
4. 查找指定字符对应的起始索引值 从左往右找到第一个就结束
mes = 'my name is jason'
print(mes.find('m'))    # 输出为: 0
# 如果找不到 返回 -1 
print(mes.find('z'))  # 输出为:-1
# 如果为 index 找不到则直接报错
print(mes.find('z'))  # 直接报错
5. 统计某个字符出现的次数
mes = 'my name is mark'
print(mes.count('m')) # 输出为:3
6. 居中展示 
 name = 'jason'
 print(s8.center(15, '$'))  # 居中展示
 print(s8.ljust(15, '&'))  # 左对齐   jason&&&&&&&&&&
 print(s8.rjust(15, '*'))  # 右对齐   **********jason
7. 判断字符串包含的内容
 name = 'tony123'
 name.isalnum()  # 字符串中既可以包含数字也可以包含字母
 name.isalpha()  # 字符串中只包含字母

列表的基本用法

1. 修改值
name_list = ['jason', 'kevin', 'tony', 'jack']
name_list[0] = 1111
print(name_list)  # 输出为[1111, 'kevin', 'tony', 'jack']
2. 添加值
方式 1  :在末尾添加括号内指定的数据
name_list.append(99)
print(name_list)  # 输出为:['jason', 'kevin', 'tony', 'jack', 99]
方式 2 :插入元素(将括号内的数据当成一个整体插入到指定的索引位置)
name_list.insert(0'jason1')
print(name_list) # 输出为 :['jason1', jason', 'kevin', 'tony', 'jack']
name_list.insert(2. 'jason2')
print(name_list) # 输出为 :[jason', 'kevin','jason2', 'tony', 'jack']
方式 3 :扩展元素
name_list.extend([1, 2, 2, 3, 4, 5])
print(name_list)  #  ['jason', 'kevin', 'tony', 'jack', 1, 2, 2, 3, 4, 5]
l1 = [1, 2, 3, 4, 5]
l2 = [11, 22, 33, 44, 55]
for i in l2:
    l1.append(i)  # 将l2中的数据追加到l1末尾
print(l1)
# 输出为:[1, 2, 3, 4, 5, 11, 22, 33, 44, 55]

列表删除数据

删除数据
方式 1 :根据索引直接删除
lis = [11, 22, 33, 44, 55]
del lis[1]  
print(lis)  # 输出为 [11, 33, 44, 55]
方式 2 :remove() 括号内指定需要移除的元素值
lis.remove(11)
print(lis) # 输出为[22, 33, 44, 55]
print(lis.remove(11))  # 则输出为 None
方式 3 : pop()  括号内指定需要弹出的元素索引值 括号内如果不加参数的话默认弹出列表尾部元素
lis.pop()
print(lis)  # 输出为[11, 22, 33, 44]
lis.pop(1)
print(lis)  # 输出为[11, 33, 44, 55]

列表的其他用法


1. l1 = [55, 22, 11, 44, 33, 99, 88]
# l1.sort()  # 默认为升序
# print(l1)   # 输出为[11, 22, 33, 44, 55, 88, 99]
# l1.sort(reverse=True)  # 默认为降序
# print(l1)   # 输出为[99, 88, 55, 44, 33, 22, 11]
2. print(l1[:])  # 冒号两边不屑数字默认全都要
   print(l1[:5])  # 左边不写默认从头(0)开始
   print(l1[1:])  # 右边不写默认到尾部
3. 两个列表比较
ll1 = [999, 111]
ll2 = [111, 222, 333, 444, 555, 666, 777, 888]
print(ll1 > ll2)   # 输出为True
# 列表比较运算采用相同的索引元素进行比较,值对比第一个元素得出结果
如果为字符串比较也是按照索引位置内部转成ASCII对应的数子比较

posted @   JasonBorn  阅读(40)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示