列表
列表概述:列表包含0个或多个元素的有序序列属于序列类型
特点:列表的长度和内容是可变的的
创建列表
demo = ['Liming',12,3.5]
print(demo)
#我们通过运行发现列表中的每一个元素的类型可以不同,可以是整形,实数,字符串
#列表收一个有序序列,所以列表中的元素是讲顺序的,所以可以通过索引来访问列表中的元素,列表的索引是从0开始的
print(demo[0])
列表的赋值和引用
demo = ['Liming',12,3.5]
demo_1 = demo
print(demo,demo_1)
demo[0] = 0#把demo的第一个元素修改为0
print(demo,demo_1)#通过结果我们发现修改demo而demo_1也会发生相应的改变
#因为,这是一个简单的将一个列表赋值给另一个列表,这样并不会产生一个新的列表,只会产生对原有列表的一个新的引用
#所以列表必须通过显示的数据赋值才能生成新的列表
#扩展
#list()函数:将字符串转化为列表
text = list("I love python")
print(text)
列表的遍历
方法:while和for循环
# while
#因为列表是一个有序序列所以可以用索引来访问,我们要访问整个列表,只需要得到每个元素的索引,但我们不知道有多少个元素,所以len()函数上线
#:len()是获取列表的长度的
demo = ['Liming',12,3.5]
temp = len(demo)
i = 0
while i < temp:
print(demo[i],end="\n")
i = i+ 1#循环变量自增,如果不自增就是一个死循环
# for循环
demo = ['Liming',12,3.5]
for i in demo:
print(i,end="\n")
列表的基本操作
增加元素
#append()方法:可以在列表末尾条件新的元素
#语法格式:列表名.append()
demo = ['Liming',12,3.5]
demo.append(100)
print(demo)
#extend()方法:可在列表的末尾一次性追加另一个列表中的多个值
#语法格式:列表名.extend()
demo = ['Liming',12,3.5]
demo_1 = [1,2,3,4,5]
demo.extend(demo_1)
print(demo)
#运行结果:['Liming', 12, 3.5, 1, 2, 3, 4, 5]将demo_1列表和demo列表进行了合并
对比两种增加的方法
demo_1 = [1,2,3]
demo_2 = [9,8,7]
text = [4,5]
demo_1.append(text)
demo_2.extend(text)
print(demo_1)#运行结果:[1, 2, 3, [4, 5]]
print(demo_2)#运行结果:[9, 8, 7, 4, 5]
#通过运行结果,我们发现调用append()方法时,是将text看做一个对象,整体打包添加到demo_1中,而调用extend()方法时将demo_2和text进行合并
#insert()方法:使用insert()方法可以将对象插入到列表得相应的指定位置
#语法格式:列表名.insert(index,obi)index表示对象需要插入的索引位置,obj表示要插入列表中的对象
demo = ['Liming',12,3.5]
demo.insert(2,[3,4,5])
demo.insert(3,4)
print(demo)
查找元素与计数
#所谓在列表中查找元素,就是查看指定的元素是否存在列表中,列表提供index()方法用于返回指定元素出现在列表中的首次出现的位置,如果该元素不再列表中就抛出异常
#语法格式:列表名.index()
demo = ['Liming',12,3.5]
print(demo.index(12))
#在实际应用中我们并不希望程序抛出异常,所以我们要先判断一下这个元素是否在这个列表中,再来查找他的位置
demo = ['Liming',12,3.5]
name = input("请输入要查找的元素:")
if name in demo:
print(demo.index(name))
else:
print("没有找到")
#count()方法:是进行统计指定元素在列表中出现的次数
#语法格式:列表名.count(obj)#obj表示列表中要统计的对象
demo = ['Liming',12,3.5]
print(demo.count(12))
删除元素
#del命令:del命令可以根据索引删除列表中的元素,
demo = ['Liming',12,3.5]
del demo[1]#删除索引为1的元素
print(demo)
#也可以使用切片进行删除
del demo[1:2]
print(demo)
#pop()方法:用于移除列表中的一个元素(默认是最后一个元素),并且返回该元素的值
#语法格式:列表名.pop([obj])#obj表示移除列表元素的索引值,默认为-1
demo = ['Liming',12,3.5]
temp = demo.pop()
print(f'temp = {temp}')#temp = 3.5默认删除最后一个元素
print(demo)
#remove()方法:用于移除列表中某个值得第一个匹配项
#语法格式:列表名.remove(obj)
demo = ['Liming',12,3.5]
demo.remove(12)
print(demo)
分片赋值
#好处:可以一次为多个元素赋值
sum = [1,2,3,4]
sum[1:3] = [9,8]
print(sum)
#程序运行结果:[1, 9, 8, 4]
#我们发现此时的2变成了9,3变成了8,所以一次为两个元素赋值
列表排序
#reverse()方法:将列表中的元素反向存放
#语法格式:列表名.reverse()
text = [1,'yu',5.6,8]
text.reverse()
print(text)
#sort()方法,用于对原列表进行排序(默认升序)排序后的新列表会覆盖原列表
#语法格式:列表名.sort([key=None][,reserves=False])key为可选参数,如果指定该参数,会按照该参数的方法进行排序,reserves为可选参数,表示是否反向排序,升序是False,降序是True
zi = ['a','aaa','aa']
zi.sort(key=len,reverse=True)#以元素的长度为标准,进行降序排序
print(zi)
#sorted():sorted()方法返回的是一个新的列表,这是sorted()方法和sort()方法唯一的区别
#语法格式:sorted(列表名[,key=None][,reserves=False])这里的可选参数用法同上
元组
元组简介
元组:不能修改里面的元素,元组里面可以有0个或多个元素
元组的创建
# x = (1,2,'a','b')
# print(x)
#注意:Python中在定义只有一个元素的元组时,在元素的后面必须加一个逗号
# y = (1,)
# print(y)
#因为如果只有一个小括号,既可以表示元组,也可以表示数学公式里的小括号,如果没有这个逗号可能会引起歧义
元组的基本操作
#由于元组是不可变类型,所以元组没有添加,修改,删除等操作
#访问元组:用索引进行访问
x = (1,2,3,4)
print(x[0])
#合并元组
y = (1,2,3,4)
z = (5,6,7,8)
g = y + z
print(g)
#元组的遍历
x = (1,2,3,4,5)
for i in x:
print(i)
元组的内置函数
#len():获取长度.max()返回最大的元素,min()返回最小的元素
#tuple():s是以一个序列为参数,转化位元组
print(tuple('Hello'))