Python雙冒號意思
在Python中,「雙冒號」(::)通常用於表示「字典推導式」或「集合推導式」的開始和結束。以下分別解釋這兩種用法:
- 字典推導式 (Dictionary Comprehension) 字典推導式是用來建立一個新的字典,其鍵和值可以是基於一個疊代對象或表達式的結果。字典推導式的格式如下:
{key_expr: value_expr for source_iterable in target_iterable if condition}
這裡,key_expr
是用來產生字典鍵的表達式,value_expr
是用來產生字典值的表達式,source_iterable
和 target_iterable
是疊代對象,condition
是條件表達式(可選)。
例如:
# 建立一個字典,其鍵是列表中的元素,值是元素的平方
squares = {x: x**2 for x in range(10)}
print(squares)
輸出:
{0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81}
- 集合推導式 (Set Comprehension) 集合推導式是用來建立一個新的集合,其元素可以是基於一個疊代對象或表達式的結果。集合推導式的格式如下:
{expression for item in iterable}
這裡,expression
是生成集合元素的表達式,item
是疊代對象中的元素。
例如:
# 建立一個集合,包含列表中所有奇數元素
odd_numbers = {x for x in range(10) if x % 2 == 1}
print(odd_numbers)
輸出:
{1, 3, 5, 7, 9}
總結來說,「雙冒號」在Python中是用來定義字典推導式或集合推導式的開始和結束,它們提供了創建字典和集合的一種簡潔方式。