您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# Python列表常用函数怎么使用
列表(List)是Python中最基础且灵活的数据结构之一,掌握其内置方法能极大提升开发效率。本文将全面解析20+个核心列表函数,通过代码示例演示其应用场景和注意事项。
## 一、列表基础操作函数
### 1. 创建列表
```python
# 空列表
empty_list = []
empty_list = list()
# 带初始值的列表
numbers = [1, 2, 3, 4, 5]
mixed = [1, "text", 3.14, True]
fruits = ['apple', 'banana', 'orange']
print(len(fruits)) # 输出:3
nums = [10, 20, 30, 40, 50]
print(nums[1]) # 20(正向索引)
print(nums[-2]) # 40(负向索引)
print(nums[1:4]) # [20, 30, 40](切片)
colors = ['red', 'green']
colors.append('blue')
print(colors) # ['red', 'green', 'blue']
colors.insert(1, 'yellow')
print(colors) # ['red', 'yellow', 'green', 'blue']
colors.extend(['black', 'white'])
print(colors) # 输出包含新增元素的完整列表
colors.remove('green')
print(colors) # green被删除
last_color = colors.pop() # 删除最后一个
second_color = colors.pop(1) # 删除索引1的元素
colors.clear()
print(colors) # []
letters = ['a', 'b', 'c', 'a']
print(letters.index('c')) # 2
print(letters.index('a', 1)) # 从索引1开始找
print(letters.count('a')) # 2
print(letters.count('x')) # 0
print('b' in letters) # True
print('z' not in letters) # True
nums = [3, 1, 4, 2]
nums.sort() # 默认升序
print(nums) # [1, 2, 3, 4]
nums.sort(reverse=True) # 降序
original = [3, 1, 2]
new_list = sorted(original) # 不改变原列表
nums = [1, 2, 3]
nums.reverse()
print(nums) # [3, 2, 1]
original = [1, [2, 3], 4]
copied = original.copy()
copied[1][0] = 99 # 会影响原列表的嵌套元素
import copy
deep_copied = copy.deepcopy(original) # 完全独立副本
squares = [x**2 for x in range(5)]
# [0, 1, 4, 9, 16]
evens = [x for x in range(10) if x % 2 == 0]
# [0, 2, 4, 6, 8]
names = ['Alice', 'Bob']
scores = [85, 92]
for name, score in zip(names, scores):
print(f"{name}: {score}")
for index, value in enumerate(['a', 'b', 'c']):
print(index, value)
def is_positive(n):
return n > 0
numbers = [-2, 0, 1, -3, 5]
positives = list(filter(is_positive, numbers))
# [1, 5]
doubled = list(map(lambda x: x*2, [1, 2, 3]))
# [2, 4, 6]
时间复杂度警示:
内存优化:
# 大列表切片会创建新对象
big_list = [x for x in range(1000000)]
slice = big_list[100000:200000] # 消耗额外内存
相等性判断:
a = [1, 2, 3]
b = [1, 2, 3]
print(a == b) # True(值比较)
print(a is b) # False(非同一对象)
# 去除空字符串
raw_data = ["", "valid", None, " ", "data"]
cleaned = [x for x in raw_data if x and str(x).strip()]
matrix = [[1, 2], [3, 4], [5, 6]]
transposed = list(zip(*matrix))
# [(1, 3, 5), (2, 4, 6)]
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. 大型列表处理的优化技巧
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。