Python列表推導記憶體洩漏

2021-09-24 07:49:49 字數 462 閱讀 8365

在python2中的列表推導式中for關鍵字的賦值操作會對宣告的變數產生影響

例如下邊的python2控制台互動

>>> x = 'init'

>>> y = [x for x in

'abc']

>>> x

c複製**

列表推導中的變數x將宣告的x覆蓋了。這個問題在python3中已經被修復了,表示式內部的變數和賦值,只在區域性起作用,表示式上下文內的同名變數還是可以正常引用。

這是python3的**

>>> x = 'init'

>>> y = [x for x in

'abc']

>>> x

init

>>>y

['a', 'b', 'c']

複製**

x的值被保留了,列表推導也建立了正確的列表

Python 列表推導

1.正常情況下,我們這樣來遍歷列表 numbers range 10 size len numbers evens i 0 while i size if i 2 0 i 1 for f in evens print f 2.當然可以用更簡單的python支援的列表推導 i for i in ran...

python 列表推導

內容 於 head first python 書籍 列表推導 list comprehension 一般列表轉換,都是用for 命令迭代列表中的每乙個資料,而 列表推導可以簡化從乙個列表轉換為另乙個列表的 例子,現在有兩個檔案 james.txt julie.txt 列印結果並排序 james.tx...

python列表推導

表示式 for 變數 in 列表 或者 表示式 for 變數 in 列表 if 條件 li 1,2,3,4,5,6,7,8,9 print x 2 for x in li print x 2 for x in li if x 5 print dict x,x 10 for x in li print...