Python
python的使用列表
在python中,列表也称为序列,是python语言中最基本的一种数据结构。和其他的编程语言(C++\Java)中的数组类似。 序列中的每一个元素都分配一个数字,这个数字表示这个元素的位置或索引,第一个索引是0,第二个索引是1,以此类推。列表是由一系列按特定顺序排序的元素组成,其中的元素之间可以没有任何关系。
在python中,用“[]”来表示列表,并用逗号来分隔其中的元素。例如:
car=['宝马','奔驰','现代','法拉利']
print(car)
list1=['car',10,'臭弟弟',29] #这里证明了列表中的元素可以是毫无关系的
print(list1)
创建数字列表
在python中,可以用函数range()创建数字列表,代码示例:
list1=[range(1,4)]
print(list1)
访问列表的值
在python中,因为列表是一个有序集合,所以要访问列表中的任何元素,只需要将该元素的位置或索引告诉python即可。要访问列表元素,可以指出列表的名称,再指出元素的索引,并将其房子方括号内。代码示例:
list1=['宝马','奔驰','现代','法拉利']
print(list1[0])
print(list1[-1]) #-1会返回列表最后一个元素,-2是列表倒数第二个元素,依次类推。
也可以用方法title()获取任何列表元素。并且会将获取到的元素首字母大写。代码示例:
list1=['car',10,'臭弟弟',29]
print(list1[0].title()) #会得到 Car
在python中,字符串也可以通过序号来取出某个字符。代码示例:
str='goodBoys'
print(str[1]) #会得到o
使用列表中的值
在python中,可以像使用其他变量一样使用列表中的各个值。可以根据列表中的值使用拼接来创建消息。代码示例:
list1=['宝马','奔驰','现代','法拉利']
str="我一共有三辆车分别是:"+list1[0]+list1[3]+list1[1]
print(str)
使用for循环遍历列表,代码示例:
list1=['宝马','奔驰','现代','法拉利']
for car in list1:
print(car)
在python中,当使用for循环遍历列表时 ,会顺序遍历列表中的每一个元素,而不管列表中有多少个元素。即使列表中有上万或上百万个元素,python会循环执行上万或上百万次。
列表的基本操作
在python中,经常需要对列表进行操作,这也可以实现项目的指定功能。这也可以实现项目的指定功能。在程序中创建的大多数列表都是动态的,这表示创建列表后,将随着程序的运行而发生变化,如列表元素的增加和减少。
更新列表元素
更新列表元素是指修改列表元素中的值,修改列表元素的语法与访问列表元素的语法类似。在修改列表元素时,需要指定列表名和将要修改的元素的索引,再指定该元素的新值。代码示例:
list1=['宝马','奔驰','现代','法拉利']
print(list1)
list1[0]='拖拉机'
print(list1) #这时候就会发现宝马变成了拖拉机
插入新的元素
插入新的元素是指在指定的列表中添加新的列表元素。在python中可以通过如下两种方法向列表里插入新的元素。
-
在列表中插入元素
使用方法insert():使用方法insert()可以在列表的任何位置添加新元素,在插入时需要指定新元素的索引和值。语法格式如下:
list.insert(index,obj)
index:元素obj需要插入的索引位置。
obj:将要插入列表的元素。
方法insert()没有返回值,但是会在列表的指定位置插入新的元素。代码示例:
list1=['宝马','奔驰','现代','法拉利'] print(list1) #这时候打印是'宝马','奔驰','现代','法拉利' print('列表的长度为:',len(list1)) #列表的长度为4 list1.insert(0,'拖拉机') print(list1) #这时候打印就会变成'拖拉机,'宝马','奔驰','现代','法拉利' print('列表的长度为:',len(list1)) #列表的长度为5
-
在列表末尾插入元素
当在列表中添加新的元素,最简单的方式是将元素附加到列表末尾。使用append()可以在列表末尾添加新的元素。语法格式如下:
list.append(obj)
方法append()没有返回值,但是会修改原来列表中的元素值。代码示例:
list1=['宝马','奔驰','现代','法拉利'] print(list1) #这时候打印是'宝马','奔驰','现代','法拉利' print('列表的长度为:',len(list1)) #列表的长度为4 list1.append('拖拉机') print(list1) #这时候打印就会变成'拖拉机','宝马','奔驰','现代','法拉利' print('列表的长度为:',len(list1)) #列表的长度为5
在列表中删除元素
在列表中删除元素是指在列表中删除某个或多个已经存在的元素。在python中可以通过以及三种方式在列表中实现删除元素功能。
-
使用del语句删除元素
在python中,如果知道要删除的元素在列表中的具体位置,可使用del语句实现删除功能。语法格式如下:
del 列表名称[index]
代码示例:
list1=['宝马','奔驰','现代','法拉利'] print(list1) del list1[0] print(list1)
-
使用pop()方法删除元素
在python中,当将某个元素从列表中删除后,有时需要接着使用这个元素的值。可以通过pop()方法删除列表末尾的元素,并且能够接着使用它。如法格式如下:
list.pop(obj=list[-1])
obj:是一个可选参数,表示要移除列表元素。
代码示例:
list1=['宝马','奔驰','现代','法拉利'] print(list1) car=list1.pop(0) #将删除的值存储在变量car中 print(list1) #显示删除了宝马 print(car) #就可以找到被pop()删除的元素 print(list1) #没有变化
-
根据元素值删除元素
在python中,有时并不知道要从列表中删除的值所处的位置。如果只知道要删除的元素的值,可以使用remove()方法实现。语法格式如下:
list.remove(obj)
参数obj表示将要在列表中移除的元素。方法remove没有返回值,但会移除某个值在列表中的第一个匹配项。代码示例:
list1=['宝马','奔驰','现代','法拉利','奔驰'] print(list1) list1.remove('奔驰') #只会移除第一个匹配到的‘奔驰’ print(list1)
列表排列处理
在创建一个列表时,里面元素的排列顺序常常是无法预测的,因为开发者不可能控制用户提供数据的顺序。但在python中,我们经常需要以特定的顺序显示列表中的信息。所以在python中就提供了很多对列表进行排序的方法,通过这些方法可以对列表中的元素进行排列组织。
使用方法sort()对列表进行永久排序
在python中使用方法sort()可以轻松地对列表中的元素进行排序。语法格式如下:
list.sort(func)
参数”func“是一个可选参数,如果指定了该参数则使用该参数的方法进行排序。虽然方法sort()没有返回值,但是会对列表中的元素进行排序。代码示例:
#按照字母顺序排序列表中的元素
list=['I','LOVE','YOU','TOO','ME']
print(list)
list.sort()
print(list)
当然也可以按与字母顺序相反的顺序排列列表元素,代码示例:
#按照字母顺序相反的顺序排序列表中的元素
list=['I','LOVE','YOU','TOO','ME']
print(list)
list.sort(reverse=True) #添加reverse=True这个参数就可以实现与字母顺序相反的顺序排列
print(list)
上面的处理完后,对列表元素排列顺序的修改是永久性的。
使用方法sorted()对列表进行临时排序
在python中,想要即实现保留列表元素原来的排列顺序,同时又想以特定的顺序显示它们。此时可以使用方法sorted()实现。方法sorted()的功能是按照特定顺序显示列表中的元素,同时不影响它们在列表中的原始排列顺序。代码示例:
#按照字母顺序相反的顺序排序列表中的元素
list=['I','LOVE','YOU','TOO','ME']
print('列表原来排序顺序:')
print(list)
print('经过排列处理后的列表顺序:')
print(sorted(list,reverse=True)) #添加reverse=True这个参数就可以实现与字母顺序相反的顺序排列
print(sorted(list))
print('再次显示列表原来排序顺序:')
print(list)
倒序输出列表中的信息
在python中,有时需要倒序输出列表中的信息,此时可以通过reverse()实现。使用方法reverse()的语法格式如下:
list.reverse()
方法reverse()没有参数,也没有返回值。代码示例:
#反序排列列表中元素
list=['I','LOVE','YOU','TOO','ME']
print('列表原来排序顺序:')
print(list)
print('经过排列处理后的列表顺序:')
list.reverse()
print(list)
print('再次显示列表原来排序顺序:')
print(list)
方法reverse()也会永久的修改列表元素的排序顺序,但是可以将列表随时恢复到原来的样子,只需要再次调用方法reverse()即可。
获取列表的长度
可以使用方法len()快速获取列表的长度。语法格式如下:
len(list)
代码示例:
list=['I','LOVE','YOU','TOO','ME']
print('列表的长度是',len(list))
列表的高级操作
列表中的运算符
在python中,在列表中可以使用“+”和“*”运算符,这两个运算符的功能与在字符串中相似。其中“+”运算符用于组合列表,“*”运算符用于重复输出列表。示例:
python表达式 | 结果 | 描述 |
---|---|---|
len([1,2,3]) | 3 | 长度 |
[1,2,3]+[4,5,6] | [1,2,3,4,5,6] | 组合 |
[‘Hi!’]*4 | [‘Hi!’,‘Hi!’,‘Hi!’,‘Hi!’] | 重复 |
3 in[1,2,3] | True | 显示元素是否存在于列表中 |
for x in [1,2,3] : print x | 1 2 3 | 迭代列表 |
列表截取与拼接
在python中,可以使用“L”表达式实现列表截取与字符串操作功能。代码示例:
L=['name','age','sex']
print(L[2]) #显示列表中的第二个元素
print(L[-2]) #显示列表中倒数第二个元素
print(L[1:]) #显示列表索引为1的元素(包含本身)之后的所有元素
print(L+[13,14,520])#在原有的列表上又添加了新的3个整数
列表嵌套
在python中,列表嵌套是指一个已经存在的列表中创建其他新的列表。代码示例:
a=['a','b','c','d']
b=[1,2,3]
c=[a,b]
print(c) #会打印出['a','b','c','d'],[1,2,3]
print(c[0]) #会打印出['a','b','c','d']
print(c[0][1]) #打印b
获取列表元素中的最大值和最小值
在python中,可以通过方法max()获取列表元素中最大值,语法格式如下:
max(list)
其中list表示要返回最大值的列表,方法max()返回列表元素中的最大值。
在python中可以通过min()获取列表元素中最小值,语法格式如下:
min(list)
其中list表示要返回最小值的列表,方法min()返回列表元素中的最大值。
代码示例:
list1=['name','age','sex']
list2=[1314,520,666]
print('list1中元素最大值为',max(list1))
print('list1中元素最小值为',min(list1))
print('list2中元素最大值为',max(list2))
print('list2中元素最小值为',min(list2))
追加其他列表中的值
在python中,可以通过方法extend()在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)。语法格式如下:
list.extend(seq)
参数seq表示将要追加的列表,方法extend()没有返回值。代码示例:
list1=['name','age','sex']
list2=list(range(5))
print('扩展之前的列表',list1)
list1.extend(list2)
print('扩展之后的列表',list1)
在列表中统计某元素出现的次数
在python中,可以通过方法count()在列表中统计某元素出现的次数。语法格式如下:
list.count(obj)
参数obj表示将要统计的列表元素,方法count()返回值是在列表中出现的次数。代码示例:
list=['name','age','sex','name','name','sex']
print('name在列表中出现了',list.count('name'),'次')
清空列表中的元素
在python中,可以使用方法clear()清空列表中的元素。语法格式如下:
list.clear()
方法clear()没有返回值。代码示例:
list=['name','age','sex','name','name','sex']
print(list)
list.clear()
print(list)
复制列表中的元素
在python中,可以使用方法copy()复制列表中的元素,这样可以创建一个新的列表。语法格式如下:
list.copy()
方法copy()没有参数,返回复制后的新列表。代码示例:
list1=['name','age','sex','name','name','sex']
list2=list1.copy()
print(list1)
print(list2)
获取列表中某个元素的索引
在python中,可以使用方法index()获取列表中某个元素的具体索引位置,只能从列表中找到某个元素第一次出现的索引位置。语法格式如下:
list.index(obj)
参数obj表示将要查找的列表对象。方法index()返回查到列表对象的索引位置,如果没有找到对象则抛出异常。代码示例:
list1=['name','age','sex','name','age','sex']
print(list1.index('age')) #这里会找到第一个age的索引位置,即是1
print(list1.index(12)) #因为列表中没有12,所以程序会抛出异常