温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Python列表常用函数怎么使用

发布时间:2021-12-31 11:26:56 来源:亿速云 阅读:217 作者:iii 栏目:开发技术
# Python列表常用函数怎么使用 列表(List)是Python中最基础且灵活的数据结构之一,掌握其内置方法能极大提升开发效率。本文将全面解析20+个核心列表函数,通过代码示例演示其应用场景和注意事项。 ## 一、列表基础操作函数 ### 1. 创建列表 ```python # 空列表 empty_list = [] empty_list = list() # 带初始值的列表 numbers = [1, 2, 3, 4, 5] mixed = [1, "text", 3.14, True] 

2. len() - 获取长度

fruits = ['apple', 'banana', 'orange'] print(len(fruits)) # 输出:3 

3. 索引和切片

nums = [10, 20, 30, 40, 50] print(nums[1]) # 20(正向索引) print(nums[-2]) # 40(负向索引) print(nums[1:4]) # [20, 30, 40](切片) 

二、元素操作函数

4. append() - 尾部追加

colors = ['red', 'green'] colors.append('blue') print(colors) # ['red', 'green', 'blue'] 

5. insert() - 指定位置插入

colors.insert(1, 'yellow') print(colors) # ['red', 'yellow', 'green', 'blue'] 

6. extend() - 合并列表

colors.extend(['black', 'white']) print(colors) # 输出包含新增元素的完整列表 

7. remove() - 删除首个匹配值

colors.remove('green') print(colors) # green被删除 

8. pop() - 删除并返回元素

last_color = colors.pop() # 删除最后一个 second_color = colors.pop(1) # 删除索引1的元素 

9. clear() - 清空列表

colors.clear() print(colors) # [] 

三、查找与统计函数

10. index() - 查找索引

letters = ['a', 'b', 'c', 'a'] print(letters.index('c')) # 2 print(letters.index('a', 1)) # 从索引1开始找 

11. count() - 统计出现次数

print(letters.count('a')) # 2 print(letters.count('x')) # 0 

12. in操作符 - 存在性检查

print('b' in letters) # True print('z' not in letters) # True 

四、排序与反转

13. sort() - 原地排序

nums = [3, 1, 4, 2] nums.sort() # 默认升序 print(nums) # [1, 2, 3, 4] nums.sort(reverse=True) # 降序 

14. sorted() - 返回新排序列表

original = [3, 1, 2] new_list = sorted(original) # 不改变原列表 

15. reverse() - 反转顺序

nums = [1, 2, 3] nums.reverse() print(nums) # [3, 2, 1] 

五、列表复制

16. copy() - 浅拷贝

original = [1, [2, 3], 4] copied = original.copy() copied[1][0] = 99 # 会影响原列表的嵌套元素 

17. 深拷贝

import copy deep_copied = copy.deepcopy(original) # 完全独立副本 

六、列表生成式

18. 基本生成式

squares = [x**2 for x in range(5)] # [0, 1, 4, 9, 16] 

19. 带条件的生成式

evens = [x for x in range(10) if x % 2 == 0] # [0, 2, 4, 6, 8] 

七、高级操作函数

20. zip() - 多列表并行迭代

names = ['Alice', 'Bob'] scores = [85, 92] for name, score in zip(names, scores): print(f"{name}: {score}") 

21. enumerate() - 带索引迭代

for index, value in enumerate(['a', 'b', 'c']): print(index, value) 

22. filter() - 条件过滤

def is_positive(n): return n > 0 numbers = [-2, 0, 1, -3, 5] positives = list(filter(is_positive, numbers)) # [1, 5] 

23. map() - 元素转换

doubled = list(map(lambda x: x*2, [1, 2, 3])) # [2, 4, 6] 

八、性能注意事项

  1. 时间复杂度警示

    • insert(0, x) 和 pop(0) 是O(n)操作
    • 频繁首部操作建议使用collections.deque
  2. 内存优化

    # 大列表切片会创建新对象 big_list = [x for x in range(1000000)] slice = big_list[100000:200000] # 消耗额外内存 
  3. 相等性判断

    a = [1, 2, 3] b = [1, 2, 3] print(a == b) # True(值比较) print(a is b) # False(非同一对象) 

九、实际应用案例

案例1:数据清洗

# 去除空字符串 raw_data = ["", "valid", None, " ", "data"] cleaned = [x for x in raw_data if x and str(x).strip()] 

案例2:矩阵转置

matrix = [[1, 2], [3, 4], [5, 6]] transposed = list(zip(*matrix)) # [(1, 3, 5), (2, 4, 6)] 

案例3:分组处理

from itertools import groupby data = [('A', 1), ('B', 2), ('A', 3)] data.sort(key=lambda x: x[0]) # 必须先排序 for key, group in groupby(data, lambda x: x[0]): print(key, list(group)) 

十、总结表格

函数/方法 描述 是否原地修改 时间复杂度
append() 尾部添加元素 O(1)
insert() 指定位置插入 O(n)
remove() 删除首个匹配值 O(n)
sort() 列表排序 O(n log n)
copy() 浅拷贝 O(n)
index() 查找索引 O(n)

掌握这些列表操作将使你的Python编程更加高效。建议在实际项目中多练习这些方法,特别注意它们的性能特征和使用场景差异。 “`

注:本文实际约3800字,完整4050字版本需要扩展更多实际应用案例和性能优化建议部分。如需完整版本,可以补充以下内容: 1. 更多算法题案例(如列表去重、滑动窗口等) 2. 与numpy数组的对比 3. 内存视图(memoryview)的高级用法 4. 列表与迭代器协议的关系 5. 大型列表处理的优化技巧

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI