一.解包
>>> matrix=[
[1,2,3],
[4,5,6],
[7,8,9],
]>>> list(zip(*matrix))
[(1, 4, 7), (2, 5, 8), (3, 6, 9)]
這裡實現了矩陣到轉置。*是解包,但是具體含義是什麼?實驗如下:
>>> list(*matrix)
traceback (most recent call last):
file "", line 1, in
list(*matrix)
typeerror: list() takes at most 1 argument (3 given)
推測:*matrix實際作用相當於把[(1, 4, 7), (2, 5, 8), (3, 6, 9)]變為了三個引數:(1, 4, 7), (2, 5, 8), (3, 6, 9)。
為了進一步說明,看如下**:
>>> zip((1,4),(2,5),(3,6))
>>> list(_)
[(1, 2, 3), (4, 5, 6)]
此段,與list(zip(*matrix))有類似到處理過程.所以推測應該是正確的。
二.模組匯入
編寫自己的模組後,比如fibo.py,存在自己的乙個目錄下:e:\mypythoncd
若要用這個模組,則需要告訴直譯器模組的路徑:
import sys
python教學筆記 python學習筆記(一)
1.eval 函式 eval是單詞evaluate的縮寫,就是 求.的值的意思。eval 函式的作用是把str轉換成list,dict,tuple.li 1 1,2,3 print eval li 1 di 1 print eval di 1 tu 1 2,4,6 print eval tu 1 執...
python學習筆記
coding utf 8 coding utf 8 應該像八股文一樣在每個指令碼的頭部宣告,這是個忠告 為了解決中文相容問題,同時你應該選擇支援 unicode 編碼的編輯器環境,保證在執行指令碼中的每個漢字都是使用 utf 8 編碼過的。cdays 5 exercise 3.py 求0 100之間...
Python 學習筆記
python 學習筆記 def run print running.def execute method method execute run result running.condition false test yes,is true if condition else no,is false ...