python(个人学习笔记1.4)-- (简单理解)列表(list)切片,增删改查,排序等基本操作与函数调用方法

一、列表的创建

1.基本创建方法

list1 = []			#空列表
list2 = [6,7,'a',"This is a list"]	#有值列表
list3 = [6,7,'a',"This is a list",[7,8,9,"This is second list"]]	#列表嵌套列表
list4 = list()		#调用list()方法创建空列表
list5 = list((2,4,5,6,7))	#可迭代数据转换成列表

注释:列表使用 [ ] (英文中括号) 创建。

二、列表增删改查

1.列表索引

注意: 列表中默认第一个元素的位置为: 0 然后向后依次 +1

例如:

a = [1,4,6,8,10]
print(a[0])			#取列表第一个位置的元素
print(a[4])			#取列表第五个位置的元素

输出:

1
10

注释:如上,当定义了 a列表 后,想要读出列表相应位置的值,需要编写 a[ ] (列表名 + [ ]),其中,中括号内填写元素在列表中的对应位置,例如:
在上述列表中,查找列表的第三个元素
a [ 2 ]
它的值为 6,此时中括号内的 2 ,可以称为该列表的一个索引

2.列表---------切片

列表切片 : 切片可以简单理解为,从一个列表中取出列表的某一个片段

切片格式: list2 = list [ 开始位置 :结束位置 :步长 ]

开始位置: 开始位置,不填写则默认为:0,与切片取值成闭合或包含关系。
结束位置: 结束位置,不填写则默认为:列表中最后一个元素所在位置,记为:-1(负一),与切片取值成非闭合关系或不包含关系。
步长: 步长默认为 : 1,即第一次取索引为0的元素,第二次将取出索引为 1 元素,如果步长为:2,第一次取出 索引为0 的元素,第二次将取出索引为 2 的元素。
!!!
注意: 步长如果为{负数},列表将不再默认从0到列表末尾,从左至右的读出元素,而是从{开始位置}从右向左依次读出元素,可以理解为,步长的正负决定着列表的读取方向。
!!!

例如:

a=[2,4,6,8,10,[12,14]]		#注意:在列表中嵌套的列表,其整体相当于上一层列表的一个元素
#切片
print(a[1:])		#从4取到最后,相当于 a[1::1]  
print(a[1:-1])		#取到倒数第二值 ,不包含最后一个,即索引为 -1 的元素
print(a[1:-1:1])	#从左到右一个一个去取,取到倒数第二个
print(a[1::2])		#从左到右隔一个去取,每次索引值加 2
print(a[3::-1])		#从索引为3的元素,即元素8开始,从右向左依次取出所有在元素8之前的元素
print(a[-2::-1])	#从列表倒数第二个元素向左依次输出

输出:

[4, 6, 8, 10, [12, 14]]
[4, 6, 8, 10]
[4, 6, 8, 10]
[4, 8, [12, 14]]
[8, 6, 4, 2]
[10, 8, 6, 4, 2]

3.列表---------查

1.下标,即索引直接查找元素:

a = [2,4,6,8,10,[12,14]]
print(a[0])
print(a[1])

b = a[2]
print(b)

c = a[5][0]			#取出列表中嵌套列表的值,前一个中括号内为嵌套列表在上一层列表的位置,后一个中括号内为,需要取的元素的位置。
d = a[5][1]
print(c,d)

输出:

2
4
6
12 14

2.index() 方法(函数)

index(): 根据内容查找元素在列表中的位置,有返回值。

例如:

a = [2,4,6,8,10,[12,14]]
b = a.index(8)		# a列表通过调用index()取出元素8在列表中的位置,并返回赋值给变量b
print(b)

输出:

3			#输出元素8在列表中的位置为3

3.count() 方法(函数)

count(): 查找某个元素在列表中的出现次数。

例如:

a = [2,4,4,4,6,6,8,10,[12,14]]
b = a.count(4)			#返回元素4在a列表中出现的次数给变量 b
c = a.count(6)
m = a.count(8)
print(b)				#输出打印 b 的值
print(c)
print(m)

输出:

3
2
1

4.列表---------增

1.append() 方法(函数)

append(): 在列表末尾追加元素。

例如:

a = [2,4,6,8,10,[12,14]]
a.append(100)			#将100追加到a列表末尾
print(a)

输出:

[2, 4, 6, 8, 10, [12, 14], 100]

2.insert() 方法(函数)

insert(): 按位置插入元素。

例如:

a = [2,4,6,8,10,[12,14]]
a.insert(2,1000)		#在位置为 2 的元素前插入一个 1000
print(a)

输出:

[2, 4, 1000, 6, 8, 10, [12, 14]]

3.extend() 方法(函数)

extend(): 把一个列表添加到另一个列表后,合并两个列表。

例如:

a = [1, 2, 3, 9]
b = [4, 5, 6]
a.extend(b)
print(a)
print(b)

输出:

[1, 2, 3, 9, 4, 5, 6]
[4, 5, 6]

4.列表---------改

1.下标,或索引直接修改列表中元素的值

例如:

a = [2,4,6,8,10,[12,14]]
a[2] = 1000  			#把位置为2的元素,即元素6改为1000
print(a)

输出:

[2, 4, 1000, 8, 10, [12, 14]]

2.切片式修改列表中元素的值

例如:

a = [2,4,6,8,10,[12,14]]
a[1:3] = [100,1000,10000]
print(a)

输出:

[2, 100, 1000, 10000, 8, 10, [12, 14]]

注意:切片时,最后的索引元素为不包含,如上方第三个元素并不会被替换。且,如果切片数量超过想要赋予的元素的数量,那么列表中超过的部分将会被覆盖。

例如:

a = [2,4,6,8,10,[12,14]]
a[1:5] = [100,1000,10000]
print(a)

输出:

[2, 100, 1000, 10000, [12, 14]]  #此时元素10被直接覆盖

4.列表---------删

1.remove() 方法(函数)

remove(): 直接按值删除列表中某一元素。

例如:

a = [2,4,6,8,8,8,10,[12,14]]
a.remove(4)
a.remove(8)			#如果列表中有相同的元素,默认删除从左往右找到的第一个
print(a)

输出:

[2, 6, 8, 810, [12, 14]]			#其余的元素8仍然保存在列表中

2.pop() 方法(函数)

pop(): 按索引删除元素,如果不添加索引,将默认删除最后一个元素,有返回值。

例如:

a = [2,4,6,8,10,[12,14]]
b = a.pop(3)			#删除索引为3的元素,并返回给变量b
c = a.pop()				#删除列表最后一个元素
print(b)
print(c)
print(a)

输出:

8
[12, 14]
[2, 4, 6, 10]

3.del 方法

del: 直接删除某个元素,或删除整个列表。

例如:

a = [2,4,6,8,10,[12,14]]
del a[5]			#删除下标或索引为5的元素
print(a)

输出:

[2, 4, 6, 8, 10]

删除整个列表

例如:

a = [2,4,6,8,10,[12,14]]
del a
print(a)

结果:

NameError: name 'a' is not defined    #程序报错,没有找到名为a的变量,即a被删除

4.clear() 方法(函数)

clear(): 清空列表。

例如:

a = [2,4,6,8,10,[12,14]]
a.clear()
print(a)

输出:

[]				#此时a为一个空的列表

三、列表排序

1.sort()与reverse() 方法(函数)

1.reverse() 方法(函数)

1.reverse(): 使列表逆序排列,即翻转列表

例如:

a = [2,6,7766,7,854,3454]
a.reverse()					#使a列表翻转
print(a)

输出:

[3454, 854, 7, 7766, 6, 2]

2.sort() 方法(函数)

2.sort(): 使列表按排序排列

例如:

a = [2,6,7766,7,854,3454]
a.sort()					#使a从小到大排列
print(a)

输出:

[2, 6, 7, 854, 3454, 7766]
sort() 方法(函数) 拓展

sort() 方法,在括号内,其实自带有reverse()方法的调用。在不改变reverse的布尔值时,其默认为不使用reverse进行翻转(即reverse = False),如果需要翻转则:
例如:

a = [2,6,7766,7,854,3454]
a.sort(reverse = True)					#使a从大到小逆序排列
print(a)

输出:

[7766, 3454, 854, 7, 6, 2]

不改变reverse默认值:

a = [2,6,7766,7,854,3454]
a.sort(reverse = False)	#相当于  a.sort()
print(a)

输出:

[2, 6, 7, 854, 3454, 7766]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值