python嵌
『壹』 python 嵌套的列表推導式怎麼理解的呢
5.1.4. 嵌套的列表推導式
列表解析中的第一個表達式可以是任何錶達式,包括列表解析。
考慮下面有三個長度為 4 的列表組成的 3x4 矩陣:
>>> matrix = [
... [1, 2, 3, 4],
... [5, 6, 7, 8],
... [9, 10, 11, 12],
... ]
現在,如果你想交換行和列,可以用嵌套的列表推導式:
>>> [[row[i] for row in matrix] for i in range(4)]
[[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]
像前面看到的,嵌套的列表推導式是對 for 後面的內容進行求值,所以上例就等價於:
>>> transposed = []
>>> for i in range(4):
... transposed.append([row[i] for row in matrix])
...
>>> transposed
[[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]
反過來說,如下也是一樣的:
>>> transposed = []
>>> for i in range(4):
... # the following 3 lines implement the nested listcomp
... transposed_row = []
... for row in matrix:
... transposed_row.append(row[i])
... transposed.append(transposed_row)
...
>>> transposed
[[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]
在實際中,你應該更喜歡使用內置函數組成復雜流程語句。對此種情況 zip() 函數將會做的更好:
>>> list(zip(*matrix))
[(1, 5, 9), (2, 6, 10), (3, 7, 11), (4, 8, 12)]
『貳』 python 如何將圖片嵌入表格
要將圖片嵌入表格,可以使用 Python 的 openpyxl 庫。
以下是一個例子:
from openpyxl import Workbook
from openpyxl.drawing.image import Image
# 創建一個新的工作簿
wb = Workbook()
ws = wb.active
# 將圖片插入到指定的單元格
img = Image('A路徑/圖片.png')
ws.add_image(img, 'B2') # 在 B2 單元格中插入圖片
# 保存工作簿
wb.save('表格.xlsx')
上述代碼中,使用 openpyxl.drawing.image.Image 類載入本地圖片,並使用 add_image 方法將其插入到指定的單元格中。
其中,add_image 方法的第一個參數是要插入的圖片對象,第二個參數是要將圖片插入到哪侍鋒個單元格中。
在上面的例子中,我們將圖片插入到了 B2 單元格中。如果需要插入到其他單元格,可以相應地修改第二個參數。
最後,調用 save 方法保存工作簿即可。請注意,為了使該晌碼代碼正常執行,您需要先安宴談哪裝 openpyxl 庫。