当前位置:首页>python>Python基础数据类型与变量—列表

Python基础数据类型与变量—列表

  • 2026-09-07 03:55:55
Python基础数据类型与变量—列表

1 定义

列表 (List) 是用于存储有序元素集合的数据类型,可以包含不同类型的元素。可以使用方括号 [] 或 list() 函数创建列表。

代码:

# 创建列表list1 = [1, 2, 3, "hello", 3.14]list2 = list((4, 5, 6)) # 使用元组创建列表print(f"列表1: {list1}, 列表2: {list2}")

结果:

2 索引和切片

列表中的元素可以通过索引访问,也可以通过切片获取子列表。

代码:

# 索引和切片print(f"列表1的第一个元素: {list1[0]}, 列表1的最后一个元素: {list1[-1]}, 列表1的切片: {list1[1:4]}")

结果:

3 添加元素

append():在列表末尾添加一个元素。   insert():在指定位置插入一个元素。   extend():将另一个列表中的元素添加到当前列表末尾。 

代码:

# 添加元素list1.append("world")list1.insert(2, "python")list1.extend([7, 8, 9])print(f"添加元素后的列表1: {list1}")

结果:

4 删除元素

remove():删除列表中第一个匹配的元素。 pop():删除并返回指定位置的元素,默认删除最后一个元素。 del:删除列表中指定位置的元素或切片

代码:

# 删除元素list1.remove("hello") # 删除第一个 "hello"print(f"remove删除元素后的列表1: {list1}")popped_element = list1.pop(1) # 删除索引为1的元素print(f"pop删除元素后的列表1: {list1}, 被删除的元素: {popped_element}")del list1[0] # 删除索引为0的元素del list1[2:4] # 删除索引2和3的元素print(f"del删除元素后的列表1: {list1}")

结果:

5 修改元素

可以通过索引直接修改列表中的元素。  

代码:

# 修改元素list1[0] = "new value"print(f"修改元素后的列表1: {list1}")

结果:

6 排序

sort():对列表进行原地排序 (修改原始列表)。 sorted():返回排序后的新列表(不修改原始列表)。

代码:

# 排序numbers = [3, 1, 4, 1, 5, 9, 2, 6]numbers.sort()  # 原地排序,修改numbersprint(f"原地排序后的numbers: {numbers}")numbers = [3, 1, 4, 1, 5, 9, 2, 6]sorted_numbers = sorted(numbers)  # 返回排序后的新列表,不修改numbersprint(f"排序后的新列表: {sorted_numbers}, 原列表numbers: {numbers}")

结果:

7 常用方法

len():获取列表长度 count():统计某个元素在列表中出现的次数。 index():查找某个元素在列表中第一次出现的位置。

代码:

# print(f"numbers列表长度:{numbers.len()}")print(f"1 在 numbers 中出现的次数: {numbers.count(1)}")print(f"9 在 sorted_numbers 中出现的索引: {sorted_numbers.index(9)}")

结果:

6 列表推导式

一种简洁的创建列表的方式,可以根据已有的列表或其他可迭代对象生成新的列表。

代码:

# 列表推导式squares = [x**2 for x in range(10)] # 生成0-9的平方列表print(f"0-9的平方列表: {squares}")even_numbers = [x for x in range(20) if x % 2 == 0] # 生成0-19的偶数列表print(f"0-19的偶数列表: {even_numbers}")

结果:

①嵌套列表推导式

代码:

# 嵌套列表推导式matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]flattened = [num for row in matrix for num in row]  # 将二维列表展开成一维列表print(f"扁平化矩阵: {flattened}")

结果:

②将一个字符串列表转换为整数列表

代码:

# 将一个字符串列表转换为整数列表string_numbers = ["1", "2", "3", "4", "5"]int_numbers = [int(x) for x in string_numbers]print(f"字符串列表转换为整数列表: {int_numbers}")

结果:

8 案例

①对列表中的元素进行筛选或转换

代码:

#对列表中的元素进行筛选或转换def filter_and_transform(numbers):    """    筛选大于5的偶数,并计算它们的平方.    Args:        numbers: 待筛选的数字列表.    Returns:        筛选和转换后的数字列表.    """    return [x**2 for x in numbers if x > 5 and x % 2 == 0]numbers = [2, 4, 6, 8, 10, 1, 3, 5, 7, 9]print(f"筛选大于5的偶数,并计算它们的平方: {filter_and_transform(numbers)}")

结果:

②实现一个简单的栈或队列

代码:

class Stack:    """    简单的栈实现.    """    def __init__(self):        self.items = []    def push(self, item):        self.items.append(item)    def pop(self):        if not self.is_empty():            return self.items.pop()        else:            return None    def peek(self):        if not self.is_empty():            return self.items[-1]        else:            return None    def is_empty(self):        return len(self.items) == 0stack = Stack()stack.push(1)stack.push(2)stack.push(3)print(f"栈顶元素: {stack.peek()}")print(f"出栈: {stack.pop()}")print(f"出栈: {stack.pop()}")print(f"栈是否为空: {stack.is_empty()}")

结果:

③列表去重

代码:

def remove_duplicates(numbers):    """    使用集合进行列表去重.    Args:        numbers: 待去重的列表.    Returns:        去重后的列表.    """    return list(set(numbers))numbers = [1, 2, 2, 3, 4, 4, 5]print(f"列表去重: {remove_duplicates(numbers)}")

结果:

④找出列表中出现次数最多的元素

代码:

def most_frequent(numbers):    """    找出列表中出现次数最多的元素.    Args:        numbers: 待查找的列表.    Returns:        出现次数最多的元素.    """    counts = {}    for x in numbers:        counts[x] = counts.get(x, 0) + 1 # 使用 get() 方法处理不存在的键    max_count = 0    most_frequent_element = None    for x, count in counts.items():        if count > max_count:            max_count = count            most_frequent_element = x    return most_frequent_elementnumbers = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4]print(f"列表中出现次数最多的元素: {most_frequent(numbers)}")

结果:

9 应用场景

  • 存储数据集合
  • 实现数据结构 (栈、队列等)
  • 数据分析
  • Web 开发 (例如存储用户列表)
  • 游戏开发 (例如存储游戏角色的属性)

最新文章

随机文章