Python中列表操作与应用实践
1. 列表的初始化方式
在Python中,列表(List)是动态数组的一种实现,支持多种数据类型混合存储。
numbers = [10, 25, 8, 42, 17]
cities = ["广州", "成都", "武汉", "厦门"]
mixed_data = [1, 3.14, "hello", [1, 2], {'key': 'value'}]
empty_list = []
2. 动态添加元素
可通过不同方法向列表末尾或指定位置插入数据。
cities.append("青岛") # 追加单个元素
numbers.extend([99, 66, 101]) # 扩展多个元素
mixed_data.insert(2, "插入项") # 在索引2处插入新元素
3. 访问与修改元素
使用下标访问和更新列表中的值。
first_city = cities[0] # 获取首元素
cities[0] = "深圳" # 修改第一个元素
print(first_city)
4. 删除元素的方法
支持按值、按索引或弹出并返回元素。
cities.remove("武汉") # 移除特定值
del cities[1] # 删除索引为1的元素
removed_item = numbers.pop(3) # 弹出第4个元素并返回
print(f"被移除的数值是:{removed_item}")
5. 列表切片操作
提取子序列生成新列表,不改变原列表。
subset = numbers[2:5] # 从索引2到4取值
copy_list = numbers[:] # 完整复制列表
6. 成员判断与存在性检查
快速判断某元素是否存在于列表中。
has_beijing = "北京" in cities
not_shanghai = "上海" not in cities
print(has_beijing, not_shanghai)
7. 统计元素出现次数
用于分析重复数据频率。
cities.append("广州")
count_guangzhou = cities.count("广州")
print(f"广州出现次数:{count_guangzhou}")
8. 查找元素首次出现的位置
返回目标元素的最小索引。
index_of_wuhan = cities.index("武汉")
print(f"武汉的索引位置:{index_of_wuhan}")
9. 排序操作
支持升序与降序排列。
numbers.sort() # 升序排序
# numbers.sort(reverse=True) # 降序排序
10. 反转列表顺序
将列表元素顺序完全颠倒。
numbers.reverse()
print(numbers)
11. 获取最大值与最小值
使用内置函数获取极值。
max_val = max(numbers)
min_val = min(numbers)
print(f"最大值:{max_val}, 最小值:{min_val}")
12. 求和运算
计算所有数值型元素的总和。
total = sum(numbers)
print(f"总和:{total}")
13. 冒泡排序算法实现
一种基础排序算法,适合理解排序逻辑。
def bubble_sort(arr):
n = len(arr)
for i in range(n - 1):
for j in range(n - i - 1):
if arr[j] > arr[j + 1]:
arr[j], arr[j + 1] = arr[j + 1], arr[j]
return arr
sorted_nums = bubble_sort([5, 2, 8, 1, 9])
print(sorted_nums)
14. 元组转列表
将不可变元组转换为可变列表。
data_tuple = (10, 20, 30)
converted_list = list(data_tuple)
print(converted_list)
15. 综合练习:偶数加一并统计1的数量
对原始列表进行处理:将所有偶数加1,排序后统计值为1的元素个数。
original = [4, 2, 5, 3, 45, 232, 98, 1, 0, 6, 89, 43]
for idx in range(len(original)):
if original[idx] % 2 == 0:
original[idx] += 1
original.sort()
count_ones = original.count(1)
print(f"值为1的元素数量:{count_ones}")
print(f"排序后的结果:{original}")