列表是Python中一種非常重要的數據結構,它是有序的、可變的集合,可以容納任意類型的數據(包括其他列表)。列表在Python中非常常用,幾乎所有的Python開發(fā)者都需要掌握如何創(chuàng)建和操作列表。下面小編將詳細介紹如何在Python中創(chuàng)建列表,并講解一些常見的創(chuàng)建方式。
1. 使用方括號創(chuàng)建列表
最常見和最簡潔的方式就是使用方括號 [] 來創(chuàng)建一個列表。你可以通過在方括號內提供一個逗號分隔的元素列表來初始化一個列表。
pythonCopy Code# 創(chuàng)建一個空列表
empty_list = []
# 創(chuàng)建一個包含整數的列表
numbers = [1, 2, 3, 4, 5]
# 創(chuàng)建一個包含不同數據類型的列表
mixed_list = [1, "hello", 3.14, True]
# 創(chuàng)建一個嵌套列表(列表中的元素還是列表)
nested_list = [1, [2, 3], [4, 5]]
在上述例子中,我們通過 [] 創(chuàng)建了幾個列表:
empty_list 是一個空列表。
numbers 包含整數元素。
mixed_list 包含不同類型的元素,包括整數、字符串、浮動數和布爾值。
nested_list 是一個嵌套列表,其中包含了兩個子列表。
2. 使用 list() 構造函數創(chuàng)建列表
除了直接使用方括號創(chuàng)建列表,還可以使用 list() 函數來創(chuàng)建列表。這個方法可以用于將其他可迭代對象(如元組、集合、字符串等)轉換為列表。
pythonCopy Code# 使用 list() 函數創(chuàng)建空列表
empty_list = list()
# 將一個字符串轉換為列表
string_list = list("hello") # ['h', 'e', 'l', 'l', 'o']
# 將一個元組轉換為列表
tuple_data = (1, 2, 3)
tuple_list = list(tuple_data) # [1, 2, 3]
# 將一個集合轉換為列表
set_data = {1, 2, 3}
set_list = list(set_data) # [1, 2, 3]
在這些例子中,list() 函數被用來從其他數據結構(如字符串、元組、集合)中創(chuàng)建列表。它會將傳入的對象轉換為列表形式。

3. 使用列表推導式創(chuàng)建列表
列表推導式(List Comprehension)是Python中一種非常強大的語法,它允許我們從其他可迭代對象創(chuàng)建列表,并可以通過條件篩選或其他操作對元素進行處理。
基本語法格式:
pythonCopy Code[expression for item in iterable if condition]
示例:
pythonCopy Code# 創(chuàng)建一個包含數字的列表(1到10)
numbers = [x for x in range(1, 11)]
print(numbers) # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# 創(chuàng)建一個包含偶數的列表(1到10)
even_numbers = [x for x in range(1, 11) if x % 2 == 0]
print(even_numbers) # [2, 4, 6, 8, 10]
# 創(chuàng)建一個列表,列表中的每個元素是原數字的平方
squares = [x ** 2 for x in range(1, 6)]
print(squares) # [1, 4, 9, 16, 25]
列表推導式的優(yōu)點是它可以用一行代碼生成列表,并且在生成過程中支持條件過濾和表達式計算,從而簡化了代碼。
4. 使用 * 運算符創(chuàng)建重復元素的列表
如果你想創(chuàng)建一個包含重復元素的列表,可以使用 * 運算符將元素復制多次。* 運算符可以用來重復列表的內容。
pythonCopy Code# 創(chuàng)建一個包含五個數字 0 的列表
zeros = [0] * 5
print(zeros) # [0, 0, 0, 0, 0]
# 創(chuàng)建一個包含五個 "hello" 的列表
greetings = ["hello"] * 5
print(greetings) # ['hello', 'hello', 'hello', 'hello', 'hello']
這種方法非常適合在需要初始化包含相同元素的列表時使用。
5. 使用 range() 函數創(chuàng)建數字列表
range() 函數可以生成一個整數序列,在需要創(chuàng)建包含一系列整數的列表時非常有用。雖然 range() 返回的是一個迭代器,但你可以將其傳遞給 list() 函數來生成一個列表。
pythonCopy Code# 創(chuàng)建一個包含 1 到 9 的數字的列表
numbers = list(range(1, 10))
print(numbers) # [1, 2, 3, 4, 5, 6, 7, 8, 9]
# 創(chuàng)建一個包含偶數的列表
even_numbers = list(range(2, 21, 2))
print(even_numbers) # [2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
range(start, stop, step) 的形式使得我們可以輕松地控制序列的開始、結束以及步長,進而生成自定義的數字列表。
6. 創(chuàng)建二維列表(矩陣)
二維列表(或者說矩陣)是嵌套的列表,其中每個元素本身都是一個列表。你可以使用 [[...]] 的形式來創(chuàng)建二維列表,也可以使用循環(huán)或列表推導式。
pythonCopy Code# 創(chuàng)建一個 3x3 的二維列表
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print(matrix)
在Python中創(chuàng)建列表非常靈活,可以根據需要選擇不同的創(chuàng)建方式。最常見的方式是使用方括號 [],同時Python還提供了 list() 函數、列表推導式以及 * 運算符等多種方式來創(chuàng)建列表。你可以根據不同的場景選擇最適合的方法。掌握列表的創(chuàng)建方式是進行Python編程的基礎,也是學習更復雜數據結構的第一步。