python中的字符类
python中的字符类
一、索引
使用索引来访问序列中的元素
正向索引:0123456
负向索引:  -3 -2-1
二、根据索引切片
公式:开始值,结束值,步长
包含开始值,不包含结束值,
索引从0开始
案例:
s=[1,2,3,4,5,6,7,8,9,10]
print(s[0]) # 索引位 1 ,索引从从0开始
print(s[-1]) #5
print(s[1:3]) #[2, 3] 1 包含开始值,不包含结束值
print(s[1:8:2]) #[2, 4, 6, 8]  1是开始值,8是结束值,2是步长
print(s[:4]) #[1, 2, 3, 4] 前面的空格代表所有
print(s[4:])#[5, 6, 7, 8, 9, 10]
print(s[:]) #[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 显示所有内容
print(s[::-1]) #反转
print(s[-5:-1]) #[6, 7, 8, 9]
print(s[-5👎2]) #[6, 8]
print(s[-1:-5:-1]) #[10, 9, 8, 7]
三、字符类型
str 字符类型
a="abc1fdkalf3al8a"
b="ASDS"
c="1232"
print(type(a)) #<class 'str'>字符类型
print(a.capitalize()) #Abcd kll 首个字符大写
print(a.title()) #Abcd Kll 每个字母的首个字符大写
print(a.count("a")) #3 统计字符
print("".join(a)) #abcd* kala*l   通过自定义符号分割
print(a.split("b")) #分割,返回结果是列表
print(a.strip("a")) #bcd kalal 删除开头和结尾的字符
print(a.lstrip("a")) #bcd kalala 删除开头的字符
print(a.rstrip("a")) #abcd kalal 删除结尾的字符
print(a.startswith("a")) #True  判断开头字符
print(a.startswith("b")) #False
print(a.endswith("a")) #True p判断结尾字符
print(a.endswith("b")) #False
print(a.find("a")) #0  从左往右找,找到就停止,只显示第一个
print(a.rfind("f"))#9  从右往左找,找到就停止,显示索引位
print(a.replace("a","8")) #8bcfd k8lf8l8  替换内容
print(a.replace("a","8",2)) #8bcfd k8lfala  替换内容指定的次数
print(b.lower()) #asds  大写改小写
print(a.upper()) #ABCFD KALFALA  小写改成大写
print(c.isdigit()) #True  判断全数字
print(b.isalpha()) #True 判断全字符
print(a.isalnum()) #True  判断数字和字母
print(a.islower())#判断全小写
print(b.isupper()) #True判断全大写
四、列表
字符类型:list
符号:【】
定义:列表好似一组有序存储的数据,也是python常见的序列值,序列中的每个元素都分配一个索引,
定义列表的方法:
方法一:通过list定义
案例:
a="a1234"
print(type(a)) #<class 'str'>
s=list(a)
print(s) #['a', '1', '2', '3', '4']
print(type(s)) #<class 'list'>
方法二:通过【】定义
案例:
list1=[1,2,3,4,5]
print(type(list1))
1、常用的函数
(1)添加函数 ,通过索引切片
案例:
list1=[1,2,3,4,5]
list1[2]="a"  #插入数据,将原来数据覆盖
print(list1)
(2)add添加(默认添加在末尾)
案例:
list1=[1,2,3,4,5]
list1.append("s") #[1, 2, 3, 4, 5, 's']
print(list1)
(3)insert 插入(根据索引插入内容,原来的数据向后移动一位)
list1=[1,2,3,4,5]
list1.insert(2,"a")
print(list1)
(4)extend 函数:链接两个列表
list1=[1,2,3,4,5]
list2=[6,7,8,9]
list1.extend(list2)
print(list1)#[1, 2, 3, 4, 5, 6, 7, 8, 9]
(5)romove 删除函数
案例:
list1=[1,2,3,4,5]
list1.remove(1)
print(list1) #[2, 3, 4, 5]
案例2:
list1=[1,2,3,4,5,1,1]
list1.remove(1)
print(list1) #[2, 3, 4, 5, 1, 1]
多个元素时只删除前一个
(6)del根据索引删除
案例:
list1=[1,2,3,4,5,1,1]
del list1[2]
print(list1)
(7)pop删除 (默认删除后一位)
案例:
list1=[1,2,3,4,5,1,1]
list1.pop()  #默认删除最后一位
print(list1) #[1, 2, 3, 4, 5, 1]
(8)index 根据内容,查看索引位
案例:
list1=[1,2,3,4,5,1,1]
print(list1.index(5))
(9)sort 排序, 升序
案例:
list1=[1,2,3,4,5,1,1]
list1.sort()
print(list1) #[1, 1, 1, 2, 3, 4, 5]
(10)sorted 函数  :
升序、降序
案例:
list1=[1,2,3,4,5,1,1]
print(sorted(list1,reverse=True)) 降序
print(sorted(list1,reverse= False)) 升序
(11)reverse  函数:反转
案例:
list1=[1,2,3,4,5,1,1]
list1.reverse()
print(list1) #[1, 1, 5, 4, 3, 2, 1]
五、元祖
定义:元祖是python中的一种数据结构,元祖由不同的元素组成,
每个元素可存储不同类型的数据;如字符串,数值等。
元祖是“写保护”,元祖作为一个整体,创建后不能做任何修改操作。
符号:()
字符类型:tuple
创建元组:
案例
t=(1,2,3)
print(type(t)) #<class 'tuple'>
注意点:当一个元素的时候,要加一个,号
元祖运用:
(t=(1,2,3,4,2)
print(type(t)) #<class 'tuple'>
(1)print(t.index(3)) #2  根据内容查看索引位
(2)print(t.count(2)) #2  统计元素出现的次数
(3)元组要修改,先通过list将元祖改成列表修改,在通过tuple将列表转换元祖
案例:
t=(1,2,3,4,2)
print(type(t))
s=list(t)  #通过list将元组转换成列表
print(type(s))
s.append("w") #利用列表的函数修改内容
print(s)
c=tuple(s) #过tuple 将列表转换成元组
print(type(c))
print(c)
4、元组和列表的区别
相同点: 有序、都支持切片
不同点:
(1)列表的字符类型:lsit,元组的字符类型是:tuple
(2)列表是可变对象,元组是不可变对象
(3)列表的符号【】,元组用的()
(4)元列相对列表比较安全
六、字典
(1)字典的字符类型:dict
(2)符号:{}
(3)存储方式:键值对
(4)字典的键唯一,值是变化的
(5)创建字典:
方法一:{} 定义字典
案例:
d={"name":"zs","age":18}
print(type(d))#<class 'dict'>
方法:dict转换
案例:
li=[("a",1),("b",2)]
print(type(li)) #<class 'list'>
d=dict(li)
print(type(d)) #<class 'dict'>
print(d) #{'a': 1, 'b': 2}
(6)字典的函数
1、添加键值对
d={"name":"zs","age":18}
d["h"]=3
print(d) #{'name': 'zs', 'age': 18, 'h': 3}
2、取出所有的键:
d={"name":"zs","age":18}
print(d.keys()) #dict_keys(['name', 'age'])
3、取出所有值
d={"name":"zs","age":18}
print(d.values()) #dict_values(['zs', 18])
4、根据键取出值
d={"name":"zs","age":18}
print(d["name"])
5、添加默认值(优先级小于表格中的元素)
案例1:
d={"name":"zs","age":18}
d.setdefault("c","1")
print(d)
案例2:
d={"name":"zs","age":18}
d.setdefault("age","1")
print(d) #{'name': 'zs', 'age': 18}
案例3:添加内容的优先级:
d={"name":"zs","age":18}
d["age"]= "10"
print(d)
6、删除字典指定键
案例:
d={"name":"zs","age":18}
del  d["name"]
print(d)
7、clear清除一个字典
案例:
d={"name":"zs","age":18}
d.clear()
print(d) #{}
8、pop 删除字典
案例1:删除指定的内容
d={"name":"zs","age":18}
d.pop("name")
print(d) #{'age': 18}
9、get根据键获取值、
案例
d={"name":"zs","age":18}
print(d.get("name")) #zs
10、popitem 默认删除一组键值
d={"name":"zs","age":18}
print(d.popitem()) #('age', 18)
11、update两个字典合并
案例:
d={"name":"zs","age":18}
d1={"fs":"88","cj":20}
d.update(d1)
print(d) #{'name': 'zs', 'age': 18, 'fs': '88', 'cj': 20}
12、copy 复制字典
案例:
d={"name":"zs","age":18}
s=d.copy()
print(d) #{'name': 'zs', 'age': 18}
print(s) #{'name': 'zs', 'age': 18}
13、for循环 遍历字典
案例1:遍历键和值
d={"name":"zs","age":18}
for i  in d:
print(i,d[i])
案例2:遍历了键
d={"name":"zs","age":18}
for i  in d:
print(i)
14、使用items 遍历键和组
案例
d={"name":"zs","age":18}
for i  in d.items():
print(i)
15、formkeys快速生成字典
案例:
print({}.fromkeys(["name","age"])) #{'name': None, 'age': None}
print({}.fromkeys(["name","age"],"1")) #{'name': '1', 'age': '1'}
七、集合
python中常用的语句
(1)if语句
1、if语句的单分支
格式:
if  判断条件:
执行语句1
else:
执行语句2
案例:
a=10
if  a>9:
print("ok")
else:
print("no")
2、if语句的多分支
格式:
if  条件1:
执行语句1
elif 条件2:
执行语句2
elif 条件3:
执行语句3
else:
执行语句4
案例:
a=int(input("输入中奖号码:"))
if  a0:
print(" 一等奖")
elif a10:
print("二等奖")
elif a==20:
print("三等奖")
else:
print("谢谢惠顾")
3、if语句的嵌套
一个if语句中嵌套另一个if语句
案例:
a=(input("账号:"))
if a"admin":
passwd=input("密码:")
if passwd"123456":
print("登录成功")
else:
print("密码错误")
else:
print("账号错误")
4、if语句中三目运算写法
格式 : 执行语句1  if   条件1  else  执行条件2
将代码写在一行中
案例:
a=(input("账号:"))
print( "登录成功" if  a=="admin" else  "账号失败")
(2)while语句
格式:
while  条件表达式:
循环语句
1、当循环条件成立就循环:
a=0
while a<5:
a+=1 #a=a+1
print(a
2、当循环条件不成立就停止循环:
案例:
a=6
while a<5:
a+=1 #a=a+1
print(a)
3、死循环
案例:
a=6
while a >5:
a+=1 #a=a+1
print(a
作业:
使用while循环求出1-100的和
案例:
sum=0
while a <101:
sum+=a
a+=1 #a=a+1
print(sum)
使用while循环求出1-100的奇数和?
a=1
sum=0
while a <101:
sum+=a
a+=2 #a=a+1
print(sum)
使用while循环求出1-100的偶数和?
a=2
sum=0
while a <101:
sum+=a
a+=2 #a=a+1
print(sum)
(3)for循环语句
1、格式: for ... in ...
语句块
2、函数range(函数)
a、range(开始值,结束值,步长)   包含开始值,不包含结束值
案例:
print(list(range(10))) #[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(list(range(2,10))) #[2, 3, 4, 5, 6, 7, 8, 9]
print(list(range(2,10,2))) #[2, 4, 6, 8]
print(list(range(1,10,2))) #[1, 3, 5, 7, 9]
3、if语句使用
a、遍历range
for  i in  range(10):
print(i)
b、遍历range,横向输出(end=", ")
for  i in  range(10):
print(i,end=", ")
c、遍历字符
案例:
a="ancde"
for  i in a:
print(i,end=", ")
d、遍历列表
b=[1,3,5,7]
for  i in b:
print(i,end=", ")
e、遍历字典
c={"name":"zs","age":19}
for  i in c:
print(i,c[i])
作业:
使用for循环求出1-100的和?
sum=0
for i in range(1,101):
sum+=i
# print(i,end=",")
print(sum)
使用for循环求出1-100的奇数和?
sum=0
for i in range(1,101,2):
sum+=i
print(sum)
使用for循环求出1-100的偶数和?
sum=0
for i in range(2,101,2):
sum+=i
print(sum)
(4)continue语句
定义:python跳过当前循环语句,执行下一轮循环
案例:
l=[1,2,3,4,5]
for i in l:
if i3:
continue
print(i,end=",") #1,2,4,5,
(5)break语句
定义:break 语句会立即退出,在其后边的循环代码不会被执行
案例
l=[1,2,3,4,5]
for i in l:
if i3:
break
print(i,end=",") #1,2,
(6)pass语句
1、作用
a、用来站位
b、是一个空语句
c、pass是保证语句格式的完整性
d、保证语义的完整性
案例1:
a=(input("账号:"))
if a=="admin":
print("ok")
else:
pass
 
                    
                     
                    
                 
                    
                 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号