Python数据的结构类型:
- 字符型
- 字典
- 列表
- 元祖
一、序列
序列的解释:
- 序列是Python中的一类数据类型。如:字符串、列表
- 序列类型的对象是可以进行循环便利
序列的特性
- 索引:指的是在序列中找到指定元素的编号
- 切片:指的是从序列中提取一部分内容
- 加法:指的是可以将多个序列合并在一起
- 乘法:指的是可以将序列通过乘法输出多个相同的元素
序列的操作
索引的操作
格式: 序列名[索引值]
案例:
a = "hello" #定义一个序列 print(a[0]) #通过索引值“0”来取出序列中第
切片的操作
格式: 序列名[第一个索引值 :第二个索引值]
案例:
a = "hello my name is jerry" #定义一个序列 print(a[3:]) #来取出序列中第三个元素边后所有的元素 a = "hello my name is jerry" #定义一个序列 print(a[3:10]) #来取出序列中第三个元素到第十个之间的元素(注:不包括的第十个元素)
加法的操作
格式: 序列名+序列名
案例:
a = "jerry " #定义第一个列表 b = "hello" #定义第二个列表 c = a + b #让两个列表相加 print(c)
乘法的操作
格式: 序列名*7 # *7表明的是序列名输出7次
案例:
a = ["jerry"] b = a*7 print(b)
成员的资格
- 判断元素是否在序列当中
- in\not in
- 返回的是布尔值:真 假
案例:
判断用户输入的内容中是否有c,如果有c,则提示c,并终止程序,如果没有c,则提示无c,并要求用户重新输入,而且对多只能输入3次。
n = 1 while True: if n > 3: print("你输入的次数过多") break num = input("请输入内容: ") if "c" in num: print("有c") break else: print("没有c") n += 1
二、 列表
- 列表也是序列的一种
- 列表支持序列的所有的基础操作:加法、乘法、成员关系、切片、索引
列表的基础
定义列表
列表名 = [元素1,元素2,元素3,....]
注意:元素如果是字符串类型必须加引号,如果是数字,可以加,可以不加。
案例
a = ["jerry",18,13032321321,"shijiazhuang"] #数字不加引号 print(a)a = ["jerry","18","13032321321","shijiazhuang"] #数字加上引号 print(a)
注意:列表的元素可以是多种类型
- 数字
- 字符型
- 列表
案例
a = ["jerry",[18,13032321321],"shijiazhuang"] b = a[1] #列表里的元素 print(b) c = a[1][1] #列表里,列表的元素 print(c)
列表是可变的类型
- 列表可以原地修改列表中元素的值
a = ["jerry",18,13032321321,"shijiazhuang"] a[1] = 30 #将a列表中的第一个元素修改为30 print(a)
数据类型互相转换
- int()将转换对象转换成整型
- float()将转换对象转换成浮点
- list()将转换对象转换成列表
- join()将列表中的元素转换或者拼接成一个字符串
案例:将字符串转换成列表
a = "jerry hello" #定义a为字符串 b = list(a) #将a字符串转换成列表 print(type(b)) print(b)
join的格式:"分隔符".join(列表)
案例:让用户输入1-9的数字,输出结果是1+2+3+4+5+6+7+8+9【不是求和】
c = "" for a in range(1,10): b = input("请输入十个数字") c = c + b d = list(c) e = "+".join(d) print(e)
列表的操作
索引
a = ["jerry",18,13000000,"hebei"] print(a[1])
赋值
a = ["jerry",18,13000000,"hebei"] a[3] = "shijiazhuang" print(a)
删除元素
- 删除单个元素
- 删除多个元素
案例
#删除单个元素 a = ["jerry",18,13000000,"hebei"] del a[3] #删除第3个元素 print(a) #删除多个元素 a = ["j","e","r","r","y","u","h","r","b","f","i"] a[3:5]="" #删除第3-5个元素 print(a)
切片
- 格式
列表[元素1,元素2,元素3]
- 正向切片:步长是正数,从左向右截取数据
- 反向切片:步长是负数,从右向作截取数据
li = ["a","b","c","d","e","f","h","i","j","k","m"] print(li[0:]) #正向切片,截取从0元素开始 print(li[0::1]) #正向切片,步长为1 print(li[0:10]) #正向切片,截取从0元素开始到10元素结束 print(li[0:10:3]) #正向切片,截取从0元素开始到10元素结束,步长为3 print(li[-1::-1]) #反向切片,截取从倒数第一个元素开始,步长为1
替换操作
- 替换一个元素
- 替换多个元素
替换一个元素 li1 = ["a","b","c","d","e","f","h","i","j","k","m"] li1[3] = "z" #将列表中第三个元素替换为z print(li1) 替换多个元素 li1 = ["a","b","c","d","e","f","h","i","j","k","m"] li1[3:7] = list('1234')#将列表中第三个元素到第7个元素换为1234 print(li1)
列表的方法
格式:列表名.方法()
列表中添加元素
- +
- extend:在列表的末尾添加内容
- append:在列表的末尾添加内容
- insert:在列表的指定的位置添加内容