使用方括号可直接创建列表,如 [1, 2, 3] 或混合类型 [1, 'hello', 3.14];2. list() 构造函数能将字符串、元组、range等可迭代对象转为列表;3. 列表推导式支持按规则生成,如 [x2 for x in range(5)];4. 操作符用于重复元素,如 [0] 5,但 [[]] 3 存在引用共享问题;5. 动态添加通过 append() 或 extend() 向空列表逐步添加元素。不同方式适用于不同场景:直接定义适合已知数据,list() 用于类型转换,推导式高效生成, 用于初始化,动态添加用于运行时构建。

在Python中,列表(list)是一种常用的数据结构,支持动态添加、删除元素,且可以存储不同类型的数据。创建列表的方法有多种,下面整理了几种常见且实用的方式。
1. 使用方括号直接定义
最直观的方式是用方括号 [] 直接列出元素。
- []:创建一个空列表
- [1, 2, 3]:创建包含整数的列表
- ['a', 'b', 'c']:创建字符串列表
- [1, 'hello', 3.14, True]:混合类型也可以
2. 使用 list() 构造函数
通过内置的 list() 函数可以将可迭代对象转换为列表。
- list("abc") → ['a', 'b', 'c']
- list((1, 2, 3)) → [1, 2, 3]
- list(range(5)) → [0, 1, 2, 3, 4]
- list({1: 'a', 2: 'b'}) → [1, 2](获取字典的键)
3. 使用列表推导式(List Comprehension)
这是Python中非常高效和优雅的创建方式,适用于根据规则生成列表。
立即学习“Python免费学习笔记(深入)”;
- [x**2 for x in range(5)] → [0, 1, 4, 9, 16]
- [x for x in range(10) if x % 2 == 0] → 偶数列表
- [s.upper() for s in ['a', 'b']] → ['A', 'B']
4. 使用 * 操作符重复元素
适合创建具有重复值的列表,尤其是初始化场景。
- [0] * 5 → [0, 0, 0, 0, 0]
- ['hi'] * 3 → ['hi', 'hi', 'hi']
- 注意:[[]] * 3 会创建三个引用同一个列表的对象,修改其中一个会影响其他
5. 动态添加元素(先创建空列表再填充)
适用于不确定初始内容或需逐步构建的情况。
- 先定义:lst = []
- 然后使用 append() 或 extend() 添加元素
- 例如:
- lst.append(1)
- lst.append(2)
- 最终得到 [1, 2]
基本上就这些。不同场景选择合适的方法即可。直接定义适合已知内容,list()适合转换其他类型,推导式适合规则生成,*适合初始化,动态添加适合运行时构建。不复杂但容易忽略细节,比如引用问题。











