python動態生成變數

2021-06-29 11:16:18 字數 1088 閱讀 7914

今日發現乙個新函式

enumerate

。一般情況下對乙個列表或陣列既要遍歷索引又要遍歷元素時,會這樣寫:

for

iinrange (

0,len (

list

)):print

i,list[i

] 但是這種方法有些累贅,使用 內建enumerrate函式會有更加直接,優美的做法,先看看enumerate的定義:

def

enumerate (

collection

):'generates an indexed series:  (0,coll[0]), (1,coll[1]) ...'i=

0it=iter (

collection ) 

while

1:yield(

i,it.

next ())  i

+=1enumerate會將陣列或列表組成乙個索引序列。使我們再獲取索引和索引內容的時候更加方便如下:

for

index

,text

inenumerate (

list

)):print

index

,text

在 cookbook裡介紹,如果你要計算檔案的行數,可以這樣寫:

count

=len (

open (

thefilepath,『

ru』 )

.readlines ())

前面這種方法簡單,但是可能比 較慢,當檔案比較大時甚至不能工作,下面這種迴圈讀取的方法更合適些。

count=-

1for

count

,line

inenumerate (

open (

thefilepath,『

ru』 ))

:pass

count+=1

Python生成動態變數和呼叫

做習題的時候需要生成多個空字典,所以找到了利用迴圈建立按序列命名字典的方法。直接執行表示式中的語句 for i in range 3 exec d dict format i exec print d format i 不能使用eval來替代exec,因為eval後要求的是表示式,如上exec後跟的...

python裡生成動態變數和如何使用動態變數

最近在做乙個小的程式,想用sympy處理傳入的字串公式和一串變長的引數值,生成一系列的值。在給公式賦值時,碰到了乙個問題,sympy需要先定義好符號的變數。而符號的變數在寫作函式時是不清楚的,如下圖 x,y symbols x y expr x y 2 y y 2x和y均為符號變數,是由變長引數值確...

python 自動生成動態變數及應用

在這裡我們需要exec函式 exec object globals locals object 必填 表示需要執行的python globals 選填 表示全域性命名空間 字典 locals 選填 表示當前區域性命名空間 字典 example 生成10個變數 q 0 q 1 q 2 q 3 q 4 ...