写点什么

【Python 基础学习】- 列表

  • 2022-11-26
    北京
  • 本文字数:2621 字

    阅读完需:约 9 分钟

【Python 基础学习】-列表

8.列表

列表介绍

列表是 Python 中最基本也是最常用的数据结构之一。列表中的每个元素都被分配一个数字作为索引,用来表示该元素在列表内所排在的位置。第一个元素的索引是 0,第二个索引是 1,依此类推。


Python 的列表是一个有序可重复的元素集合,可嵌套、迭代、修改、分片、追加、删除,成员判断。


从数据结构角度看,Python 的列表是--个可变长度的顺序存储结构,每一个位置存放的都是对象的指针。


python 中,用[]类定义列表


>>> list1= [1,2,3,4,5]>>> list1[1, 2, 3, 4, 5]>>> list2= [1,2,3,1,2]  # 可重复>>> list2[1, 2, 3, 1, 2]>>> list3= [1,2,3,[4,5]] # 可嵌套 二维列表>>> list3[1, 2, 3, [4, 5]]>>> 
复制代码

创建方式

创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。


list = []   #定义空列表list1 = [ 'physics', 1997,2000]list2 = [1, 2,3]list3 = ["a", "b", "C"]
复制代码

访问列表内的元素

列表从 0 开始为它的每一个元素顺序创建下标索引,直到总长度减一。要访问它的某个元素,以方括号加下标值的方式即可。注意要确保索引不越界,一旦访问的索引超过范围,会抛出异常。所以,一定要记得最后一个元素的索引是 len(list)-1。

查看列表元素

>>> list3= [1,2,3,[4,5]]>>> list3[3][1] # 二维列表先取到[4,5]得到一维列表,在从一维列表取到55>>> 
复制代码

修改元素的值

直接对元素进行重新赋值。


>>> list3= [1,2,3,[4,5]]>>> list3[3][1]='a'>>> list3[1, 2, 3, [4, 'a']]>>> 
复制代码

删除元素

使用 del 语句或者 remove(),pop()方 法删除指定的元素。


>>> list3= [1,2,3,[4,5]]>>> del list3[0]  # 直接删>>> list3[2, 3, [4, 5]]>>> 
复制代码


>>> list3.remove(2)  # 删除一个值为2的元素>>> list3[3, [4, 5]]>>> 
复制代码


>>> list3= [1,2,3,[4,5]]>>> list3.pop(1)  # pop 删除指定位置上的元素2>>> list3[1, 3, [4, 5]]>>> list3.pop()  # pop 不指定的时候默认从最后一个元素删[4, 5]>>> list3[1, 3]>>> 
复制代码

列表的特殊操作

1)列表组合


>>> list1 = [1,2,3]>>> list2 = [4,5,6]>>> list1+list2[1, 2, 3, 4, 5, 6]>>> list3 = list1 + list2>>> list3[1, 2, 3, 4, 5, 6]>>> 
复制代码


2)列表的乘法


>>> list1 = [1,2,3]>>> list1 * 2[1, 2, 3, 1, 2, 3]  # 重复>>> 
复制代码


3)判断元素是否在列表内部


>>> list1 = [1,2,3]>>> list1[1, 2, 3]>>> 1 in list1True>>> 5 in list1False
复制代码


4)迭代列表中的每个元素


该操作符依次访问列表中的所有元素,按照列表中元素的顺序依次来访问。第一次访问列表中的第一个元素,第二次访问列表中的第二个元素,循环执行直到访问完最后一个元素。如果列表为空,该操作也是合法的,但是不会执行循环内的代码。


>>> list1 = [1,2,3]>>> for i in list1:  # 遍历所有元素    print(i)         # 打印输出这些元素的值                      1                    # 按顺序输出各个元素23>>> 
复制代码

列表的常用函数

**len(list)**返回列表元素个数,也就是获取列表长度**max(list)**返回列表元素最大值**min(list)**返回列表元素最小值**list(seq)**将序列转换为列表


>>> list1= [1,2,3,4,5,6]>>> len(list1)6>>> max(list1)6>>> min(list1)1>>> a = (1,2) # 元组>>> a(1, 2)>>> list(a)[1, 2]
复制代码


**reverse()**颠倒顺序反转


>>> list1= [1,2,3,4,5,6]>>> list1.reverse()   # 修改了原列表>>> list1[6, 5, 4, 3, 2, 1]>>> 
复制代码


sort() 排序


>>> list2 = [1,2,3,20,19,5]>>> list2.sort()>>> list2[1, 2, 3, 5, 19, 20]>>> list2.sort(reverse=True) # 降序>>> list2[20, 19, 5, 3, 2, 1]>>> 
复制代码

列表的切片

切片指的是对序列进行截取,选取序列中的某一段。切片的语法是: list[start:end]


和字符串中的切片类似


>>> list3 = [1,2,3,4,5]>>> list3[2:4][3, 4]>>> list3[0:4:2]  [1, 3]>>> list3[::-1][5, 4, 3, 2, 1]>>>  >>> list5= [1,2,3,4,5,6,7,8,9,10,11,12]>>> list5[2::4] # 起始位置: 终止位置: 步长:[3, 7, 11]>>> list5[2:4][3, 4]>>> 
复制代码

列表的内置方法

append(obj) 在列表末尾添加新的对象


>>> list6 = [1,2,3,4,5]>>> list6.append(77) # 在尾部加元素>>> list6[1, 2, 3, 4, 5, 77]
复制代码


count(obj) 统计某个元素在列表中出现的次数


>>> list6 = [1,2,3,4,5,77,5,5]>>> list6.count(5)  # 统计某个元素在列表中出现的次数3>>> 
复制代码


extend(seq) 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)


>>> list6 = [1,2,3,4,5,77,5,5]>>> list6.extend(['a','b'])>>> list6[1, 2, 3, 4, 5, 77, 5, 5, 'a', 'b']>>> list6.append(['c','d'])>>> list6[1, 2, 3, 4, 5, 77, 5, 5, 'a', 'b', ['c', 'd']]>>> 
复制代码


index(obj) 从列表中找出某个值第一个匹配项的索引位置


>>> list6 = [1, 2, 3, 4, 5, 77, 5, 5, 'a', 'b', ['c', 'd']]>>> list6.index(77)5
复制代码


insert(index, obj) 将对象插入列表


>>> list6.insert(3,'A')>>> list6[1, 2, 3, 'A', 4, 5, 77, 5, 5, 'a', 'b', ['c', 'd']]>>> 
复制代码


pop(obj=list[-1]) 移除列表中的一个元素 (默认最后-个元素),并且返回该元素的值


>>> list6.pop()['c', 'd']>>> list6[1, 2, 3, 'A', 4, 5, 77, 5, 5, 'a', 'b']>>> 
复制代码


remove(obj) 移除列表中某个值的第一个匹配项


>>> list6.remove(5)>>> list6[1, 2, 3, 'A', 4, 77, 5, 5, 'a', 'b']>>> 
复制代码


reverse() 反向列表中元素


>>> list6[1, 2, 3, 'A', 4, 77, 5, 5, 'a', 'b']>>> list6.reverse()>>> list6['b', 'a', 5, 5, 77, 4, 'A', 3, 2, 1]>>> 
复制代码


sort([func]) 对原列表进行排序


>>> list2 = [1,2,3,20,19,5]>>> list2.sort()>>> list2[1, 2, 3, 5, 19, 20]>>> list2.sort(reverse=True) # 降序>>> list2[20, 19, 5, 3, 2, 1]>>> 
复制代码


copy() 复制列表


>>> list6['b', 'a', 5, 5, 77, 4, 'A', 3, 2, 1]>>> copylist6 = list6.copy()>>> copylist6['b', 'a', 5, 5, 77, 4, 'A', 3, 2, 1]>>> 
复制代码


clear() 清空列表,等于 del list[:]


>>> copylist6.clear()>>> copylist6[]>>> list6['b', 'a', 5, 5, 77, 4, 'A', 3, 2, 1]>>> del list6[:]  # 清空列表>>> list6[]>>> del list6  # 删除列表>>> list6Traceback (most recent call last):  File "<pyshell#153>", line 1, in <module>    list6NameError: name 'list6' is not defined>>> 
复制代码


发布于: 刚刚阅读数: 4
用户头像

一边做一边变得优秀,加油呀 2022-09-19 加入

大家好,我是小鱼新人来报道哈。 CSDN,阿里云专家.....

评论

发布
暂无评论
【Python 基础学习】-列表_11月月更_度假的鱼🐟_InfoQ写作社区