Python中关于列表(list)的基本操作

1.列表的定义

  • 列表的概念:有序的可变的元素集合
    列表就相当于C/C++中的数组,不过列表中的元素可以是任意数据类型
#定义空列表
a=[]
b=list()

#定义普通列表(任意数据类型都可以)
c=[1, 2, 3.5, "asdfa", True]  

2.列表的访问与切片

(1)访问

  • 访问格式:列表名称[索引]
    支持负索引

(1.1)普通索引

c[0]
c[2]

输出结果为:

2
3.5

(1.2)负索引(最后一位元素索引为-1,倒数第二位元素索引为-2,以此类推…)

c[-1]
c[-3]
c[-5]

输出结果为:

True
3.5
1

(2)切片

  • 切片概念:通过列表切片去访问列表中的某一个片段的元素集合
  • 切片格式:列表名称[start:stop:step]
    start:起始索引
    stop:结束索引
    step:步长、间隔长度(可以不指定,默认为1)
c
c[0:4]
c[:4]     #start可以不写,默认为0,即从头开始
c[:]      #当只写一个":"时,重新复制原列表,生成一个新列表

c[:5:2]
c[::2]    #stop可以不写,默认为列表末尾

输出结果为:

[1, 2, 3.5, "asdfa", True]
[1, 2, 3.5, "asdfa"]
[1, 2, 3.5, "asdfa"]
[1, 2, 3.5, "asdfa", True]

[1, 3.5, True]
[1, 3.5, True]

3.列表的运算操作

(1)+

  • 概念:+即为列表拼接(不对原列表进行改变)
a=[1, 2, 3]
b=[4, 5, 6]

a+b

输出结果为:

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

(2)*

  • 概念:*即为列表重复(不对原列表进行改变)
a*2

输出结果为:

[1, 2, 3, 1, 2, 3]

(3)in

  • 概念:检测 in 前的元素是否在 in 后的集合中,存在返回True,不存在返回False
1 in a
22 in a
22 not in a

输出结果为:

True
False
True

(4)迭代

  • 概念:相当于遍历
for i in a:
	print(i)

输出结果为:

1
2
3

4.列表函数

函数名 作用
len( ) 返回列表中元素的个数
min( ) 返回列表中最小的一个元素值
max( ) 返回列表中最大的一个元素值
list( ) 将一个序列转换为列表
len(a)
min([5, 1, 55, 4.5])
max([5, 1, 55, 4.5])
list("基本操作")

输出结果为:

3
1
55
['基', '本', '操', '作']

5.列表方法

方法 功能
L.append(value) 在列表末尾添加新的元素,括号内的参数为元素名
L.insert(index,value) 在指定位置插入指定的元素
L.extend(iterable) 在列表末尾一次性追加另一个序列中的多个值
L.remove(value) 从左到右查找,移除列表中指定元素第一个匹配项
L.popl([index]) 根据索引移除列表中的一个元素(不加参数则默认移除最后一个元素),并且返回移除元素的值
L.index(value) 从左到右查找指定元素在列表中的索引并返回
L.count(value) 统计某个元素在列表中出现的次数
L.reversel(list) 反向列表中的元素
L.sort([reverse=False]) 对列表L进行排序,默认从小到大
L.copy() 复制L列表并返回一个新的列表
L.clear() 清除列表L中的所有元素

测试用例(1)

lst=[11, 22, 33, 44, 55]

lst.append(100)
lst
[11, 22, 33, 44, 55, 100]

测试用例(2)

lst.insert(1, 55)
lst
lst.insert(10, 66)    #若插入位置超过列表范围,默认插入最后一位
lst
[11, 55, 22, 33, 44, 55, 100]
[11, 55, 22, 33, 44, 55, 100, 66]

测试用例(3)

lst.extend([77, 88])
lst
[11, 55, 22, 33, 44, 55, 100, 66, 77, 88]

测试用例(4)

lst.remove(100)    #若有相同元素,则删除第一个相同元素
lst

print(lst.remove(33))  #函数默认返回None型
lst
[11, 55, 22, 33, 44, 55, 66, 77, 88]
None
[11, 55, 22, 44, 55, 66, 77, 88]

测试用例(5)

lst.pop()    #不加参数则默认移除最后一个元素
lst
lst.pop(3)    
lst
88
[11, 55, 22, 44, 55, 66, 77]
44
[11, 55, 22, 55, 66, 77]

测试用例(6)

lst.index(66)
lst.index(55)     #若有相同元素,则返回第一个相同元素的索引
lst.index(55, 2)  #第二个参数意义为:从第二个索引开始查找
4
1
3

测试用例(7)

lst.count(55)
2

测试用例(8)

lst.reverse()
lst
[77, 66, 55, 22, 55, 11]

测试用例(9)

lst.sort()   #默认从小到大进行排序
lst
lst.sort(reverse=True)   #从大到小进行排序
lst
[11, 22, 55, 55, 66, 77]
[77, 66, 55, 55, 22, 11]

测试用例(10)

lst.copy()
lst
[77, 66, 55, 55, 22, 11]

测试用例(11)

lst.clear(1, 55)
lst
[]
  • del也可以进行删除操作
lst=[11, 22, 33]
del lst[0]   #删除元素
lst

del lst   #删除列表
lst

输出结果为:

[22, 33]

Traceback (most recent call last):
	File "<input>", line 1, in <module>
NameError: name 'lst' is not defined

猜你喜欢

转载自blog.csdn.net/Zachary_H/article/details/105208449