一字符串
1格式化方法
2字符串的判断
3字符串的查找计数修改替换
4特殊的方法
#格式化
s.capitalize()#首字母大写
s.lower()#首字母小写
s.upper()#全部大写
s.center(50,'-')#用-在左右两边填充50个
s.ljust(40,"-")#从左边开始 eg:name--------
s.rjust(40,"-")#从右边开始eg:-----name
s.swapcase()#大小写互换
s.title()#所有单词的首字母都大写
s.zfill(50)#50为长度 如果长度不够用0来补
s.strip()#去掉两边的杂东西
s.lstrip()#左边去
s.lstrip()#右边去
s.format()#把参数赋到字符串里
eg
msg="my name is {0},age is {1}"
msg.format("mimi",22)
my name is mimi,age is 22
#字符串的判断
s.startwith(a)#判断字符段是不是以a开始
s.endwith(a)#判断字符段是不是以a结尾
s.isdigit()#看是不是整数
#查改计数和定位
s.find("d")#找d
s.rfind("d")#从右边开始
s.lfind()
s.count("d"4,34)#d出现了几次在4到34个之间
s.split("d")#把字符串里的d去掉
s.replace("z","d")#把z替换为d
#特殊的方法
#加密
s.maketrans()#生成密码本
s.translate()#按照定义的密码本加密
小练习
#统计字符数字特殊字符
while True:
msg=input("请输入:")
if not msg:continue#如果没输入= if len(msg)=0#len的意思是长度
#判断duweh32874938,ewv,qsjv,gdc,632e8gdwiue82
#办法就是一个一个轮流判断
str_count=0
num_count=0
konge_count=0
spc_count=0
for i in msg:
if i.isalpha():#判断是不是字母
str_count+=1
elif i.isdigit():#判断是不是数字
num_count+=1
elif i.isspace():#判断是不是空格
konge_count+=1
else:
spc_count+=1
print(str_count,num_count,konge_count,spc_count)
请输入:duweh32874938,ewv,qsjv,gdc,632e8gdwiue82
22 14 0 4
以上为看视频学的,今天买的Python从入门到实践到了,我的天这本书太棒了吧,看书比看书要有效率的多,继续字符串
name=" ade lkn "
print(name.upper())#全部大写
print(name.lower())#全部小写
print("\tpython")#产生空格
print("\tnm\nmo\nbb")#\t是产生空格\n是产生换行
print(f"lai{name}")#在字符串里引用变量
print(name.strip())#strip 删除两头空白 rstrip是删除右边的空白 lstrip是删除左边的空白
#对于Python来说要是输入的字符串里有单引号那你字符串要用的最好用双引号来代替避免引起误会
结果
ADE LKN
ade lkn
python
nm
mo
bb
lai ade lkn
ade lkn
Process finished with exit code 0
书上的练习题
name="eric"
print(f"hi,{name.title()},would you like to learn python")
print(name.title())
print(name.lower())
print(name.upper())
maxi="yoooho~"
print(f"{name},{maxi}")
hi,Eric,would you like to learn python
Eric
eric
ERIC
eric,yoooho~
Process finished with exit code 0
列表
1列表大致是什么
names=["wen","nai","jin","zhen","mei"]
print(names[0])#列表的元素是从0开始的 所以输出的是wen
print(names[0].title())#和前一章学的结合在一起
print(names[-1])#这个是倒着来的输出为mei 那么-3为jin加负号可以理解为倒数
print(f"hi,{names[2].title()}!")#和前面学的结合起来了
wen
Wen
mei
hi,Jin!
Process finished with exit code 0
2修改添加和删除元素
names=["wen","nai","jin","zhen","mei"]
print(names[0])#列表的元素是从0开始的 所以输出的是wen
print(names[0].title())#和前一章学的结合在一起
print(names[-1])#这个是倒着来的输出为mei 那么-3为jin加负号可以理解为倒数
print(f"hi,{names[2].title()}!")#和前面学的结合起来了
#修改列表的元素 说白了就是给变量重新赋值
names[0]="zhang"
print(names)#这样列表的第一个元素就改了
#添加元素使用语法.append
names.append("hhhhh")
print(names)#这个默认是添加到最后一个元素后面
#在列表中插入元素.insert
names.insert(0,"nihao")#把他插到第一个元素处
print(names)#要记住insert的固定格式 先写要插入的位置 再用双引号来写要插入的元素
#在列表中删除元素 一共有三种 del pop remove等 关键是根据需求来选择他们
#del 用于知道要删除的元素在列表中的位置 只删除
del names[0]
print(names)
#使用pop来删除元素 可以储存删除的元素
popped_name=names.pop()#将删除的放在这个变量下面
print(names)
print(popped_name)#可以看到删除的是啥了
#同样的pop可以指定位置
first_name=names.pop(0)#删第一个元素
print(names)#第一个元素被删除了
print(f"第一个元素是{first_name}")
#对于del和pop的选择 :如果之后不再使用它那么就用del 如果之后还要使用它那么就用pop
#remove 如果不知道元素所处的位置 只知道那个元素的值 那么就用remove
names=["wen","nai","jin","zhen","mei"]
names.remove('nai')#直接移除自己要出去的元素
print(names)
#同样的remove的值也可以被保留
names=["wen","nai","jin","zhen","mei"]
yichu='nai'
names.remove('nai')
print(names)
print(yichu)
wen
Wen
mei
hi,Jin!
['zhang', 'nai', 'jin', 'zhen', 'mei']
['zhang', 'nai', 'jin', 'zhen', 'mei', 'hhhhh']
['nihao', 'zhang', 'nai', 'jin', 'zhen', 'mei', 'hhhhh']
['zhang', 'nai', 'jin', 'zhen', 'mei', 'hhhhh']
['zhang', 'nai', 'jin', 'zhen', 'mei']
hhhhh
['nai', 'jin', 'zhen', 'mei']
第一个元素是zhang
['wen', 'jin', 'zhen', 'mei']
['wen', 'jin', 'zhen', 'mei']
nai
Process finished with exit code 0
课后作业
people=['mom','dad','nainai','yeye','gege','jiejie']
print(people)
修改名单 gege无法赴约
people[-2]='meimei'
print(people)#将哥哥改为妹妹
for i in range(0,7):
print(f"来我家做客吧{people[i]}!")#向每个人发出邀请
#再邀请三个人
people=['mom','dad','nainai','yeye','gege','jiejie']
people.insert(0,'zhanganqi')
people.insert(4,'wangyunfei')
people.append('hanjialu')
print(people)
#要只保留两个人 这个地方卡了一下 注意这个列表改一次那么它对应的元素就改了一次 所以不能用i来赋值
people=['mom','dad','nainai','yeye','gege','jiejie']
while len(people)>2:
delet_people=people.pop(0)
print(f"sorry,{delet_people}")
print(f"welcome to my home,{people[0]},{people[1]}")
组织列表(排序)
sort 字母正序
#sort
people=['mom','dad','nainai','yeye','gege','jiejie']
people.sort()#按照字母排序 正序
print(people)
['dad', 'gege', 'jiejie', 'mom', 'nainai', 'yeye']
Process finished with exit code 0
sort 字母逆序
people=['mom','dad','nainai','yeye','gege','jiejie']
people.sort(reverse=True)#按照字母排序 逆序
print(people)
['yeye', 'nainai', 'mom', 'jiejie', 'gege', 'dad']
Process finished with exit code 0
sorted临时排序(可以保留原来的顺序)
#临时排序
people=['mom','dad','nainai','yeye','gege','jiejie']
print(sorted(people))#临时按照字母排序
print(sorted(people,reverse=True))#临时按照字母倒序排列 注意reverse的位置
print(people)#原来的顺序依然保留
['dad', 'gege', 'jiejie', 'mom', 'nainai', 'yeye']
['yeye', 'nainai', 'mom', 'jiejie', 'gege', 'dad']
['mom', 'dad', 'nainai', 'yeye', 'gege', 'jiejie']
Process finished with exit code 0
reverse倒着打印
#倒着打印
people=['mom','dad','nainai','yeye','gege','jiejie']
people.reverse()
print(people)
['jiejie', 'gege', 'yeye', 'nainai', 'dad', 'mom']
Process finished with exit code 0
len()确定列表的长度
people=['mom','dad','nainai','yeye','gege','jiejie']
print(len(people))
6
Process finished with exit code 0
操作列表(主要是应用循环)
for
1 关于缩进
对于for循环 若没有缩进 那么只运行一次(缩进也就是优先级问题)
des=['shanghai','beijing','chengdu','chongqing','xinjiang','guangzhou']
for city in des:
print(f"好想去{city}")#这个是缩进了 for循环几次执行几次
print("不错")#没有缩进 只执行一次
好想去shanghai
好想去beijing
好想去chengdu
好想去chongqing
好想去xinjiang
好想去guangzhou
不错
2 for后面一定有冒号 一定不能丢
3创建数值列表
①range
顾头不顾尾
eg:range(1,5) 1 2 3 4
range(6) 表示0到5
这个对用生成的列表卡在可以使用append来写里面生成的数,先定义一个空列表即可
#前十个整数的平方
square=[]
for i in range(10):
j=i**2
square.append(j)
print(square)
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
Process finished with exit code 0
②有一些简单的操作
#常用操作
#找最大最小的数
num=[4,35,435,4,3,6,8987,7,54,64,5,34]
print(min(num))
print(max(num))
3
8987
Process finished with exit code 0
4列表解析
来简化程序
sq=[i**3 for i in range(1,11)]
print(sq)
[1, 8, 27, 64, 125, 216, 343, 512, 729, 1000]
Process finished with exit code 0
列表的一部分
1切片
des = ['shanghai', 'beijing', 'chengdu', 'chongqing', 'xinjiang', 'guangzhou']
print(des[0:3])#输出前三个
print(des[:2])#未指定从哪起止 则默认从表头开始
print(des[1:])#未指定到哪里结束 则默认到最后结束
print(des[-3:])#从倒数第三个开始 到最后结束
['shanghai', 'beijing', 'chengdu']
['shanghai', 'beijing']
['beijing', 'chengdu', 'chongqing', 'xinjiang', 'guangzhou']
['chongqing', 'xinjiang', 'guangzhou']
Process finished with exit code 0
2复制列表
des = ['shanghai', 'beijing', 'chengdu', 'chongqing', 'xinjiang', 'guangzhou']
des2=des[:]#这一步实现复制
des.append('xian')
des2.append('neimeng')
print(des)
print(des2)#为了确认的确是两个列表
['shanghai', 'beijing', 'chengdu', 'chongqing', 'xinjiang', 'guangzhou', 'xian']
['shanghai', 'beijing', 'chengdu', 'chongqing', 'xinjiang', 'guangzhou', 'neimeng']
Process finished with exit code 0
元组(不可变得列表)
元组是用小括号来定义的
而且不能修改只能重新赋值(定义)