python自学1.5-列表

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中可以通过如下两种方法向列表里插入新的元素。

  1. 在列表中插入元素

    使用方法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
    
  2. 在列表末尾插入元素

    当在列表中添加新的元素,最简单的方式是将元素附加到列表末尾。使用append()可以在列表末尾添加新的元素。语法格式如下:

    list.append(obj)

    方法append()没有返回值,但是会修改原来列表中的元素值。代码示例:

    list1=['宝马','奔驰','现代','法拉利']
    print(list1)					#这时候打印是'宝马','奔驰','现代','法拉利'
    print('列表的长度为:',len(list1)) #列表的长度为4
    list1.append('拖拉机')
    print(list1)					#这时候打印就会变成'拖拉机','宝马','奔驰','现代','法拉利'
    print('列表的长度为:',len(list1)) #列表的长度为5
在列表中删除元素

在列表中删除元素是指在列表中删除某个或多个已经存在的元素。在python中可以通过以及三种方式在列表中实现删除元素功能。

  1. 使用del语句删除元素

    在python中,如果知道要删除的元素在列表中的具体位置,可使用del语句实现删除功能。语法格式如下:

    del 列表名称[index]

    代码示例:

    list1=['宝马','奔驰','现代','法拉利']
    print(list1)
    del list1[0]
    print(list1)
  2. 使用pop()方法删除元素

    在python中,当将某个元素从列表中删除后,有时需要接着使用这个元素的值。可以通过pop()方法删除列表末尾的元素,并且能够接着使用它。如法格式如下:

    list.pop(obj=list[-1])

    obj:是一个可选参数,表示要移除列表元素。

    代码示例:

    list1=['宝马','奔驰','现代','法拉利']
    print(list1)
    car=list1.pop(0)	#将删除的值存储在变量car中
    print(list1)		#显示删除了宝马
    print(car)			#就可以找到被pop()删除的元素
    print(list1)		#没有变化
  3. 根据元素值删除元素

    在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 x1 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,所以程序会抛出异常
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值