def swap(x, y):
temp = x
x = y
y = temp
x = 2
y = 3
swap(x, y)
print(x, y)
print()
l1 = [1, 2, 3, 4, 5]
l2 = [6, 5, 4, 3, 2]
l3 = [False, False, True, False, True]
print([a if condition else b for a, b, condition in zip(l1, l2, l3)])
print()
import numpy as np
arr = np.array(l1)
newarr = arr[arr % 2 == 0]
print(newarr)
print()
import pandas as pd
data = {
'A': [1, 2, 3],
'B': [4, 5, 6],
'C': [7, 8, 9]
}
df = pd.DataFrame(data)
df['add'] = df.apply(np.sum, axis=1)
print(df)
程式解析
swap 函數:
python
複製程式碼
def swap(x, y):
temp = x
x = y
y = temp
x = 2
y = 3
swap(x, y)
print(x, y)
print()
swap 函數嘗試交換 x 和 y 的值,但因為是傳值調用,所以不會影響函數外的 x 和 y。
執行結果為:2 3
列表推導式:
python
複製程式碼
l1 = [1, 2, 3, 4, 5]
l2 = [6, 5, 4, 3, 2]
l3 = [False, False, True, False, True]
print([a if condition else b for a, b, condition in zip(l1, l2, l3)])
print()
使用 zip 將 l1, l2, l3 打包,並根據 l3 的布爾值選擇 l1 或 l2 的對應元素。
執行結果為:[6, 5, 3, 3, 5]
NumPy 陣列過濾:
python
複製程式碼
import numpy as np
arr = np.array(l1)
newarr = arr[arr % 2 == 0]
print(newarr)
print()
過濾 l1 中的偶數,返回新陣列。
執行結果為:[2 4]
Pandas 資料框:
python
複製程式碼
import pandas as pd
data = {
'A': [1, 2, 3],
'B': [4, 5, 6],
'C': [7, 8, 9]
}
df = pd.DataFrame(data)
df['add'] = df.apply(np.sum, axis=1)
print(df)
創建資料框,並新增一列 add,其值為每行數值的總和。
執行結果為:
css
複製程式碼
A B C add
0 1 4 7 12
1 2 5 8 15
2 3 6 9 18
總結執行結果
plaintext
複製程式碼
2 3
[6, 5, 3, 3, 5]
[2 4]
A B C add
0 1 4 7 12
1 2 5 8 15
2 3 6 9 18