Python入门
DAY 05
本篇文章主要介绍字符串类型及内置方法,列表类型及内置方法
1.字符串类型及内置方法
(1)字符串定义
1.字符串中的字符是有序的
可以通过索引来获取字符
索引可以是正向索引和反向索引
正向就是从左往右取 从0开始 依次递增
反向就是从右往左 最后一个索引-1 依次递减
你存储的时候顺序是什么样,取出来还是什么样
2.字符串是不可变的
3.只能存储单个数据(2)常用操作+内置的方法
1. 取出单个字符 通过索引
索引可以是正向索引和反向索引
正向就是从左往右取 从0开始 依次递增
反向就是从右往左 最后一个索引-1 依次递减
最大索引值是长度-1# 取出单个字符 name = "yyh" print(name[2]) print(name[-1])
2. 获取字符串的长度
len("要计算的字符串")#输出字符串长度 name='Python' print(len(name))
3. 切片
将字符串切分为子字符串
语法:变量名[开始索引:结束索引 | 步长]
步长指的是每一次移动一个位置 默认为1
注意 切片时切出来的子字符串内容不包含结束位置
[:]冒号两边都是可选的 如果都不写那就直接给你原始内容
[:5]表示从第一个开始取到第五个
[5:]表示从第五开始取到最后
步长为2时表示 隔一个取一个
步长为3时表示 隔两个取一个 以此类推
切片时索引也可以使用负数
步长为正数时从左往右切
步长为负数时从右往左切# 切片 text = "hello python" # 从text中获取hello t1 = text[0:5] print(t1)
(3)基本操作
# msg = "hello i am yyh" # # 翻转这个字符串 # print(msg[-1::-1]) # in 判断一个字符串是否出现在另一个字符串中 # not in 判断一个字符串是否没有出现在另一个字符串中 # msg = "hello 老男孩" # print("he" in msg) # strip 取出字符串两边的空格 # lstrip 取出字符串左边的空格 # rstrip 取出字符串右边的空格 # 可以添加参数 指定要去除的字符串 # 切割字符串 会生成一个列表 # split 第一个参数表示用什么作为分割符 # 第二个参数表示切几次 # rsplit 从右往左切 # 没有参数则代表使用空格作为分隔符 # msg = "java,python,c,c++ruby" # print(msg.split(",",2)) # print(msg.rsplit(",",1)) # print(msg.split()) # 字符串替换 replace # 参数一旧的内容 # 参数二新的内容 # msg = "i love c language" # # 将c 替换为python # msg = msg.replace("c", "python") # print(msg)
(5)了解操作
# 大小写转换 msg = "i love c LANGUAGE" # 全大写 print(msg.upper()) #是否全大写 print(msg.isupper()) # 全小写 print(msg.lower()) #是否全大写 print(msg.islower()) # 单词首字母大写 print(msg.title()) # 是否单词首字母大写 print(msg.istitle()) # 首字母大写 print(msg.capitalize()) # 交换大小写 print(msg.swapcase()) # starts 字符串是不是以某个字符串开头 # ends 字符串是不是以某个字符串结尾 # print("千里之外.mp3".endswith(".mp3")) # print("http://www.baidu.com".startswith("https")) # 字符串的链接 msg = "java,python,c,c++,ruby" list1 = msg.split(",") print(list1) # 将逗号加入到类表中的每一个元素之间 生成一个新的字符串 newmsg = ",".join(list1) print(newmsg) # format 格式化字符串 # {} 根据占位符来进行替换 # {index} 根据指定的索引进行替换 # {name} 根据指定的名字进行替换 # 例如: “ my name is {} age is {} ”.format(参数1....,参数n) print("my name is %s age is %s" % ("yyh","20")) print("my name is {name} age is {age}".format(name="yyh",age="20")) # 查找 # find 查找一个字符串出现在另一个字符串中的位置 如果没有返回-1 # rfind 从右往左查找一个字符串出现在另一个字符串中的位置 如果没有返回-1 # index 查找一个字符串出现在另一个字符串中的位置 如果没有直接报错 # rindex从右往左查找一个字符串出现在另一个字符串中的位置 如果没有报错 # count 查找一个字符串出现在另一个字符串中的次数 # 填充 用在打印的时候可以对齐 # center 在内容左右添加相同长度的字符 使内容居中 # rjust 在右边添加符号 使其达到指定的长度 # ljust 在左边添加符号 使其达到指定的长度 # zfill 在左边添加0 使其达到指定的长度 print("hi".center(10,"*")) print("hello".ljust(10,"*")) print("byebye".rjust(10,"*")) print("byebye".zfill(10))
2.列表类型及内置方法
1.列表
基本使用
用途:存放多个值,可以根据索引存取值2.定义方式:在[]内用逗号分割开多个任意类型的值
l=['egon','lxx','yxx'] # l=list(['egon','lxx','yxx']) # l1=list('hello') #list就相当于调用了一个for循环依次取出'hello'的值放入列表 # print(l1) # l2=list({'x':1,'y':2,'z':3}) # print(l2)
3 常用操作+内置的方法
(1)按索引存取值(正向存取+反向存取):即可存也可以取
l=['python','lxx','yxx'] # print(l[0]) # l[0]='PY' # 只能根据已经存在的索引去改值 # print(l) # print(l[-1]) # print(l[3]) # l[3]='xxxxxxxx' #如果索引不存在直接报错
(2)切片(顾头不顾尾,步长)
#l=['python','xxx','yyy',444,555,66666] # print(l[0:5]) # ['python', 'xxx', 'yyy', 444, 555] # print(l[0:5:2]) # ['python', 'yyy', 555] # print(l[::-1]) # [66666, 555, 444, 'yyy', 'xxx', 'python']
(3)长度
# l=['python','lxx','yxx',444,555,66666,[1,2,3]] # print(len(l)) # 7
(4)成员运算in和not in
# l=['python','lxx','yxx',444,555,66666,[1,2,3]] # print('lxx' in l) # True # print(444 in l) # True
(5)追加
# l=['python','lxx','yxx'] # l.append(44444) # l.append(55555) # print(l) #['python', 'lxx', 'yxx', 44444, 55555]
(6)往指定索引前插入值
# l=['python','lxx','yxx'] # l.insert(0,11111) # print(l) # [11111, 'python', 'lxx', 'yxx' # l.insert(2,2222222) # print(l)] # [11111, 'python', 2222222, 'lxx', 'yxx']
(7)删除
# l=['python','lxx','yxx']#单纯的删除值:
方式1:del l[1] # 通用的 print(l)
方式2:
res=l.remove('lxx') # 指定要删除的值,返回是None print(l,res)
从列表中拿走一个值
res=l.pop(-1) # 按照索引删除值(默认是从末尾删除),返回删除的那个值 print(l,res)
#8、循环
l=['egon','lxx','yxx'] for item in l: print(item)
需要掌握的操作
l=['egon','egon','lxx','yxx',444,555,66666] print(l.count('egon')) print(l.index('egon')) print(l.index('yxx',0,1)) l.clear()items=['a','b','c'] items='hello' for item in items: l.append(item) l.extend(items) print(l)l=['egon','egon','lxx','yxx',444,555,66666] l.reverse() print(l)nums=[3,-1,9,8,11] nums.sort(reverse=True) print(nums)items=[1,'a','b',2] items.sort()
以上为本次学习的内容,如有疑问欢迎指出和探讨。