李云云 发表于 2022-5-16 21:55:49

python字符串与列表相关

'''
python中的索引:
通过索引来取序列(字符串str, 列表list,元组tupLe) 中的值
索引分为:使用格式str1
1.正向索引:从0开始,从左到右取值
2.负向索引:从-1开始,从右到左取值
'''

# str1='duoceshi'
# print(str)
# print(str)
# print(str[-4])
# print(str)#索引越界错误 IndexError: string index out of range
# print(str[-9])#索引越界错误 IndexError: string index out of range
'''
python中的切片
1.切片是建立在 索引的基础之上
2.切片的表达式:-->[开始索引:结束索引:步长]
切片可以取到开始索引的值,不能取到结束索引的值
没有传入步长默认步长为1
3.当步长为正数的情况下
不传入开始索引:从左到右取值,且开始索引默认从0开始
不传入结束索引:从左到右取值,且结束索引默认取值到最后一位数值
4.当步长为负数的情况之下,取值是从右到左取值
不传入开始索引:开始索引默认从-1开始
不传入结束索引:结束索引默认到序列左边最后一个值
5.不传入开始与结束索引取全部序列的值
'''

# str1='duoceshi'
# print(str1)#duoce
# print(str1[:5])#duoce
# print(str1)#uoceshi
# print(str1)#结果为空
# print(str1)#secou
# print(str1[:5:-1])#ih
# print(str1)#secoud
# print(str1[::])#duoceshi
# print(str1[::-1])#序列翻转,用切片的方式翻转序列
# print(str1[-7:-3])#uoce
# print(str1[-7:-3:-1])#结果为空
# print(str1[-5:7])#cesh

# 跳切
# str1='duoceshi'
# print(str1)#doe
# print(str1[:6:2])#doe
# print(str1)#duoceshi 输入的结束索引大于最大索引时,返回整个字符串

# python中的字符串函数
# capitalize():字符串首字符大写,不是单词首字符大写
# str1="hello world"
# print(str1.capitalize())#Hello world

# title()函数返回标题化的字符串,单词的首字母大写
# str1="hello world"
# print(str1.title())#Hello World

# count()统计字符串中字符出现的次数
# str1="hello world"
# print(str1.count("h"))#1
# print(str1.count("l"))#3

# join()函数
# 按照自定义的字符可以把字符串中的所有元素相连
# str1="hello world"
# print("_".join(str1))#h_e_l_l_o_ _w_o_r_l_d
# print("~".join(str1))#h~e~l~l~o~ ~w~o~r~l~d

# join()的另一种用法,可以把列表中的元素用空字符串连接起来,即就是可以将列表转换成字符串
# lsit1=["hello","world"]#列表中2个元素
# print("".join(lsit1))#helloworld
# print(type("".join(lsit1)))#<class 'str'>


# split()函数,可以根据字符串中的某个字符进行分割,得到的结果是一个列表
# str1="hello world"
# print(str1.split(" "))#['hello', 'world']
# list1=str1.split()
# print(list1)#hello
# print(list1)#world
# print(type(str1.split(" ")))#<class 'list'>
# print(str1.split("o"))#['hell', ' w', 'rld']

# 小练习
# 字符串str1='user_name'输出成UserName

# str1='user_name'
# print(str1.title())#User_Name
# str2=str1.title()
# print(str2.split("_"))#['User', 'Name']
# list3=str2.split("_")
# # print(''.join(list3))#UserName
# print(list3+list3)#UserName字符串相加,等于是把字符串相连在一起

# strip()函数, 删除字符串开头与结尾的字符。不区字符顺序
# str1="duoceshi"
# print(str1.strip("du"))#oceshi
# print(str1.strip("ud"))#oceshi d和u是一个或的关系

# lstrip(ab):删除字符串开头有ab的字符
# str1="duoceshioud"
# print(str1.lstrip("du"))#oceshi
# print(str1.lstrip("ud"))#oceshi
# print(str1.rstrip("dou"))#duoceshi
# print(str1.rstrip("u"))#duoceshioud

# rstrip(ab)删除字符串结尾有ab序列的字符
# str1="duoceshioud"
# print(str1.rstrip("oud"))#duoceshi
# print(str1.rstrip("u"))#duoceshioud未进行删除操作,因为结尾不为"u"

# str1="duoceshioud"
# # startswith():判断字符串是否以什么开始--返回布尔值
# # endswith()判断字符串是否以什么结束
# print(str1.startswith("duo"))#True
# print(str1.startswith("odu"))#False
# print(str1.endswith("oud"))#True

# 应用场景
# 判断文件是否以.txt结尾
# file_name=input("请输入你要上传的文件名称:")
# if file_name.endswith(".txt"):
#   print("文件有效")
# else:
#   print("文件无效")

# find()/rfind(): 字符串查询find()是左边开始查,rfind()从右边开始查,结果显示下标
# str1="duoceoshioud"
# print(str1.find("c"))#3 从左边开始查,结果显示索引
# print(str1.find("o"))#2 找到了就返回数据,不继续找了
# print(str1.rfind("o"))#8 从右边开始找,但是返回的索引都是正向索引

# 如果遇到三个o怎么办?
# print(str1.find("o",3,6))#从下标3开始,找到6-1结束

# repLace(): replace(substring, newstring , max)
# substring表示被替换的字符串,newstring要替换字符串, max表示替换的次数
# str1="xiaozhang"
# print(str1.replace("zh","liu"))#xiaoliuang
# print(str1.replace("a","c"))#xicozhcng , 如果不填写替换的次数,默认替换全部
# print(str1.replace("a","c",1))#xicozhang 替换一次

# Lower():方法转换字符串中所有大写字符为小写
# upper():将字符串中的所有小写字符转换为大写字母输出
# str1="xiaoZhAng"
# print(str1.lower())#xiaozhang
# print(str1.upper())#XIAOZHANG

# isdigit()判断字符串中是否全为数字-->返回布尔值
# str1 ='123456e'
# print(str1.isdigit())#False

# isalpha()判断字符串中是否全为字母
# str1="xiaozhang"
# print(str1.isalpha())#True

# isalnum()判断字符串中是否全都为数字,全为字母,或者数字字母的组合
# 返回布尔值: True和False如果有特殊符号就是否
#应用:判断一个字符串中是否存在特殊字符
# str1="avcdxxx"
# print(str1.isalnum())#True

# istitle()判断字符串中的首字母是否大写,其他是否为小写,其他不为小写则为否
# str1="Xiao hang"
# str2="Xiaohang"
# print(str1.istitle())#False 有空格所以两个单词都要首字母大写
# print(str2.istitle())#True

# isupper()/islower():is开头的就是判断一个字符串是否展示为都是大写或者都是小写
# str1="xiaohang"
# print(str1.isupper())#False
# print(str1.islower())#True

# python中的列表
# 列表是一个容器,可以装任何类型的数据
# 列表用list表示.
# 表达式为:list =[]
# 定义列表
# 1.第一种方式
# list1=["dcs","xian01",10086,]
# print(list1)#['dcs', 'xian01', 10086, ]
# print(type(list1))#<class 'list'>

# 2.使用list()函数把字符串可以转换成列表
# int(),str(),list()
# str1="xian01"
# list1=list(str1)
# print(list1)# ['x', 'i', 'a', 'n', '0', '1']
# print(type(list1))#<class 'list'>

# 列表中常用的函数与方法
# 1.索引赋值
# list1=["dcs","xian01",10086,]
# list1="hello"#把hello,赋值给到list1列表中索引为0的位置
# print(list1)#['hello', 'xian01', 10086, ]

# 切片赋值
# list1=["dcs","xian01",10086,]
# list1="hello"
# print(list1)# ['h', 'e', 'l', 'l', 'o', 10086, ]

# append()函数,添加值,在列表的末尾处添加元素
# append可以添加任何数据类型的元素到列表的最末尾

# list1=["dcs","xian01","xiaozhang",10086]
# list1.append("xiaoyun")#可以添加字符串
# print(list1)# ['dcs', 'xian01', 'xiaozhang', 10086, 'xiaoyun']

# list1.append(123)#可以添加整型
# print(list1)#['dcs', 'xian01', 'xiaozhang', 10086, 123]

# list1.append(["xiaoguan","xiaoyu"])#可以添加列表
# print(list1)#['dcs', 'xian01', 'xiaozhang', 10086, ['xiaoguan', 'xiaoyu']]

# insert()函数可以添加字符串
# list1=["dcs","xian01","xiaozhang",10086]
# list1.insert(0,"xingshao")
# print(list1)

# 用insert()函数可以添加int类型
# list1.insert(1,10010)
# print(list1)# ['dcs', 10010, 'xian01', 'xiaozhang', 10086]

# 用insert()函数可以添加列表
# list1.insert(0,["xiaoguan","xiaoyi"])
# print(list1)#[['xiaoguan', 'xiaoyi'], 'dcs', 'xian01', 'xiaozhang', 10086]






页: [1]
查看完整版本: python字符串与列表相关