PHP前端开发

Python 日期列表函数

百变鹏仔 5天前 #Python
文章标签 函数

python 列表操作及排序算法详解

本文深入探讨 Python 列表的常用操作,包括元素添加、排序、查找等,并详细讲解冒泡排序算法及其应用。 内容涵盖面试中常见的列表操作问题,例如查找第二大/小值等。

列表元素添加:append()、extend()、insert()

示例:

l1 = [10, 20, 30]l1.append('abcd')  # 添加单个元素print(l1)  # 输出: [10, 20, 30, 'abcd']l1.extend('pqrs')  # 添加多个字符print(l1)  # 输出: [10, 20, 30, 'abcd', 'p', 'q', 'r', 's']

列表排序:sort() 与 sorted()

立即学习“Python免费学习笔记(深入)”;

示例:

l1 = [10, 30, 20]l1.sort()print(l1)  # 输出: [10, 20, 30]l2 = sorted(l1)print(l2)  # 输出: [10, 20, 30]print(l1)  # 输出: [10, 20, 30] (原列表已改变)

查找列表中的最小值、最大值和总和:min()、max()、sum()

l1 = [10, 20, 30, 40, 50]print(min(l1))  # 输出: 10print(max(l1))  # 输出: 50print(sum(l1))  # 输出: 150

查找第二小值和第二大值

利用 float('inf') (正无穷) 和 -float('inf') (负无穷) 简化代码:

l1 = [10, 20, 310, 40, 50]min_value = float('inf')second_min = float('inf')for x in l1:    if x < min_value:        second_min = min_value        min_value = x    elif x < second_min and x != min_value:        second_min = xprint(second_min)  # 输出: 20max_value = -float('inf')second_max = -float('inf')for x in l1:    if x > max_value:        second_max = max_value        max_value = x    elif x > second_max and x != max_value:        second_max = xprint(second_max) # 输出: 50

冒泡排序

冒泡排序是一种简单的排序算法,通过不断比较相邻元素并交换来实现排序。

示例:

l1 = [40, 30, 20, 10]n = len(l1)for i in range(n):    for j in range(0, n-i-1):        if l1[j] > l1[j+1]:            l1[j], l1[j+1] = l1[j+1], l1[j]print(l1)  # 输出: [10, 20, 30, 40]

成员运算符:in 和 not in

in 和 not in 用于检查元素是否在列表中。

l1 = [100, 67, 54, 101, 220, 670, 45, 32]print(100 in l1)  # 输出: Trueprint(120 not in l1)  # 输出: True

字符串反转

s = "today is thursday"reversed_s = s[::-1] #利用切片反转print(reversed_s) # 输出: yadsruht si yadot

希望以上内容能够帮助您更好地理解 Python 列表操作和排序算法。 如有任何疑问,请随时提出。