2025年2月15日 星期六

內建函式可以用來處理資料、迭代、計算等

 在 Python 中,除了 zip() 之外,還有許多其他內建函式可以用來處理資料、迭代、計算等。以下是一些常用的內建函式,你可以根據需求進行選擇和應用:

1. map()

map() 函式用來將一個函式應用到可疊代對象的每一個元素上,並返回一個迭代器。這對於需要對每個元素進行相同操作的情況非常有用。

範例

# 定義一個將數字平方的函式
def square(x):
    return x ** 2

numbers = [1, 2, 3, 4]
result = map(square, numbers)
print(list(result))  # 輸出: [1, 4, 9, 16]

2. filter()

filter() 函式用來根據某個條件過濾可疊代對象中的元素,返回符合條件的元素。

範例

# 定義一個判斷是否為偶數的函式
def is_even(x):
    return x % 2 == 0

numbers = [1, 2, 3, 4, 5, 6]
result = filter(is_even, numbers)
print(list(result))  # 輸出: [2, 4, 6]

3. reduce()(來自 functools 模組)

reduce() 函式將一個二元函式依次應用於可疊代對象的元素,最終返回一個結果。通常用於對可疊代對象進行累積計算。

範例

from functools import reduce

# 定義一個累加函式
def add(x, y):
    return x + y

numbers = [1, 2, 3, 4]
result = reduce(add, numbers)
print(result)  # 輸出: 10

4. enumerate()

enumerate() 函式用來將可疊代對象中的每個元素與其索引一起返回,通常用於遍歷元素並同時需要索引的情況。

範例

colors = ['red', 'green', 'blue']

# 使用 enumerate() 得到元素及其索引
for index, color in enumerate(colors):
    print(index, color)

輸出:

0 red
1 green
2 blue

5. all()

all() 函式用來檢查可疊代對象中的所有元素是否都為真。如果所有元素都為真,返回 True,否則返回 False

範例

numbers = [1, 2, 3, 4]
result = all(x > 0 for x in numbers)
print(result)  # 輸出: True

6. any()

any() 函式用來檢查可疊代對象中是否至少有一個元素為真。如果有一個元素為真,返回 True,否則返回 False

範例

numbers = [0, 1, 2, 3]
result = any(x > 0 for x in numbers)
print(result)  # 輸出: True

7. sorted()

sorted() 函式用來返回一個排序後的列表,原列表不會被修改。你可以指定排序的鍵(key)和排序順序(reverse)。

範例

numbers = [3, 1, 4, 2]
result = sorted(numbers)
print(result)  # 輸出: [1, 2, 3, 4]

8. reversed()

reversed() 函式用來返回一個反向迭代器,該迭代器會按相反的順序返回可疊代對象的元素。

範例

numbers = [1, 2, 3, 4]
result = list(reversed(numbers))
print(result)  # 輸出: [4, 3, 2, 1]

9. sum()

sum() 函式用來返回可疊代對象所有元素的總和。

範例

numbers = [1, 2, 3, 4]
result = sum(numbers)
print(result)  # 輸出: 10

10. max()min()

  • max():返回可疊代對象中的最大值。
  • min():返回可疊代對象中的最小值。

範例

numbers = [1, 2, 3, 4]
max_value = max(numbers)
min_value = min(numbers)
print(max_value)  # 輸出: 4
print(min_value)  # 輸出: 1

11. zip()

這個已經在之前討論過了,簡單來說,它會將多個可疊代對象對應位置上的元素打包成元組。


總結

Python 提供了大量內建函式來處理迭代、排序、過濾、計算等常見操作。這些函式能幫助你提高程式的簡潔性與可讀性。根據需求,你可以選擇合適的函式來處理資料。

如果你有特定的需求,想了解如何應用某個函式,隨時告訴我!

沒有留言:

張貼留言

精選文章

手機使用VPN進入NAS、DaikinAPP時,仍能使用其他APP如銀行,連上WIFI 或行動網路

為了避免手機使用VPN進入NAS、DaikinAPP時,仍能使用其他APP如銀行,連上WIFI 或行動網路,要修改Router Policy設定?需要把家中屬於VPN的網段設備與其他區隔?要如何設定? 為了達成您的需求: ✅ 手機連上 VPN(例如連回家中 TP-Link ER...