文章目录
Python列表全面解析:从入门到精通 一、列表基础
二、列表的基本操作(基础)
三、列表的常用方法(基础) 1. 添加元素的方法 2. 删除元素的方法 3. 查找和统计方法 4. 排序和反转
四、列表的高级操作
五、列表与其他数据结构的转换 六、性能考虑 七、总结图表 Python列表方法速查表 补充说明表格 记忆技巧图示
Python列表全面解析:从入门到精通
列表(List)是Python中最常用的数据结构之一,它像一个可以装各种东西的"魔法盒子",有序且可变。下面我将用通俗易懂的方式,结合代码示例和图示,全面讲解列表的属性和方法。
一、列表基础
1. 什么是列表?
列表是一个有序的可变序列,用方括号[]
表示,元素之间用逗号分隔。如果你学过javascript的话就相当于里面的数组。
fruits = [ '苹果' , '香蕉' , '橙子' ]
numbers = [ 1 , 2 , 3 , 4 , 5 ]
mixed = [ 1 , 'hello' , 3.14 , True ]
2. 列表特性总结表
特性 说明 示例 有序性 元素按插入顺序排列 [1,2] != [2,1]
可变性 可以修改内容 lst[0] = 10
可重复 允许相同元素 [1,1,2]
有效可嵌套 元素可以是列表 [[1,2], [3,4]]
动态大小 可随时增减元素 append()
, pop()
二、列表的基本操作(基础)
1. 访问元素
colors = [ '红' , '绿' , '蓝' , '黄' ]
print ( colors[ 0 ] )
print ( colors[ - 1 ] )
print ( colors[ 1 : 3 ] )
print ( colors[ : : 2 ] )
print ( colors[ : : - 1 ] )
图示索引关系 :
正向索引: 0 1 2 3
↓ ↓ ↓ ↓
列表: ['红','绿','蓝','黄']
↑ ↑ ↑ ↑
负向索引: -4 -3 -2 -1
2. 修改列表
colors = [ '红' , '绿' , '蓝' ]
colors[ 1 ] = '紫'
print ( colors)
colors[ 0 : 2 ] = [ '黑' , '白' ]
print ( colors)
三、列表的常用方法(基础)
1. 添加元素的方法
方法 描述 示例 结果 append(x)
在末尾添加一个元素 [1,2].append(3)
[1,2,3]
extend(iterable)
扩展多个元素 [1,2].extend([3,4])
[1,2,3,4]
insert(i, x)
在指定位置插入 [1,3].insert(1,2)
[1,2,3]
nums = [ 1 , 2 , 3 ]
nums. append( 4 )
nums. extend( [ 5 , 6 ] )
nums. insert( 0 , 0 )
2. 删除元素的方法
方法 描述 示例 结果 remove(x)
删除第一个匹配项 [1,2,2].remove(2)
[1,2]
pop([i])
删除并返回指定位置元素 [1,2,3].pop(1)
返回2,列表变[1,3]
clear()
清空列表 [1,2].clear()
[]
items = [ '苹果' , '香蕉' , '橙子' , '香蕉' ]
items. remove( '香蕉' )
popped = items. pop( )
items. clear( )
3. 查找和统计方法
方法 描述 示例 结果 index(x)
返回第一个匹配项的索引 ['a','b'].index('b')
1
count(x)
统计元素出现次数 [1,1,2].count(1)
2
in
操作符检查元素是否存在 'a' in ['a','b']
True
letters = [ 'a' , 'b' , 'c' , 'a' , 'b' ]
print ( letters. index( 'b' ) )
print ( letters. count( 'a' ) )
print ( 'c' in letters)
4. 排序和反转
方法 描述 示例 结果 sort()
原地排序(默认升序) [3,1,2].sort()
[1,2,3]
reverse()
原地反转列表 [1,2,3].reverse()
[3,2,1]
sorted()
返回新排序列表 sorted([3,1,2])
[1,2,3]
nums = [ 3 , 1 , 4 , 2 ]
nums. sort( )
nums. reverse( )
new_nums = sorted ( nums)
四、列表的高级操作
1. 列表复制
original = [ 1 , 2 , 3 ]
copy1 = original. copy( )
copy2 = list ( original)
copy3 = original[ : ]
import copy
deep_copy = copy. deepcopy( original)
2. 列表生成式
squares = [ x** 2 for x in range ( 1 , 11 ) ]
even_squares = [ x** 2 for x in range ( 1 , 11 ) if x % 2 == 0 ]
3. 列表解包
first, * middle, last = [ 1 , 2 , 3 , 4 , 5 ]
print ( first)
print ( middle)
print ( last)
五、列表与其他数据结构的转换
words = [ 'Hello' , 'World' ]
sentence = ' ' . join( words)
new_list = sentence. split( )
my_tuple = tuple ( [ 1 , 2 , 3 ] )
my_list = list ( ( 1 , 2 , 3 ) )
my_set = set ( [ 1 , 2 , 2 , 3 ] )
my_list = list ( { 1 , 2 , 3 } )
六、性能考虑
操作 时间复杂度 说明 索引/赋值 O(1) 非常快速 append/pop O(1) 在末尾操作很快 insert/remove O(n) 需要移动元素 查找(in) O(n) 需要遍历列表 sort O(n log n) 较复杂的排序算法
使用建议 :
频繁增删:考虑使用collections.deque
频繁查找:考虑使用set
或dict
七、总结图表
列表方法速查表 :
Python列表方法速查表
类别 方法/操作 示例 结果/返回值 说明 添加元素 append(x)
[1,2].append(3)
[1,2,3]
在末尾添加单个元素 extend(iter)
[1,2].extend([3,4])
[1,2,3,4]
扩展多个元素(合并列表) insert(i,x)
[1,3].insert(1,2)
[1,2,3]
在指定位置插入元素 删除元素 remove(x)
[1,2,2].remove(2)
[1,2]
删除第一个匹配项 pop([i])
[1,2,3].pop(1)
返回2
,列表变[1,3]
删除并返回指定位置元素 clear()
[1,2].clear()
[]
清空列表 查找统计 index(x)
['a','b'].index('b')
1
返回第一个匹配项的索引 count(x)
[1,1,2].count(1)
2
统计元素出现次数 in
操作符'a' in ['a','b']
True
检查元素是否存在 排序操作 sort()
[3,1,2].sort()
原列表变[1,2,3]
原地排序(默认升序) reverse()
[1,2,3].reverse()
原列表变[3,2,1]
原地反转列表 sorted()
sorted([3,1,2])
返回新列表[1,2,3]
返回排序后的新列表(原列表不变)
补充说明表格
符号 说明 示例 x
表示任意类型的元素 'a'
, 1
, True
等iter
表示可迭代对象(如列表、元组) [3,4]
, (5,6)
等i
表示索引位置(从0开始) 0
表示第一个元素[i]
表示可选参数(方括号内) pop()
默认i=-1
记忆技巧图示
添加元素三兄弟:
append() → 尾巴加一个🍎 → [🍏,🍌].append(🍎) → [🍏,🍌,🍎]
extend() → 尾巴接一串🍇 → [🍏,🍌].extend([🍇,🍓]) → [🍏,🍌,🍇,🍓]
insert() → 插队到指定位置 → [🍏,🍌].insert(1,🍊) → [🍏,🍊,🍌]
删除元素三剑客:
remove() → 干掉第一个坏人 → [👮,😈,😈].remove(😈) → [👮,😈]
pop() → 抓走指定位置的人 → [👨,👩,👴].pop(1) → 返回👩,剩下[👨,👴]
clear() → 清场大扫除 → [🗑️,📦].clear() → []
通过这篇指南,你应该对Python列表有了全面的了解。列表是Python编程中最基础也最重要的数据结构之一,熟练掌握它会让你的编程工作更加得心应手!