1. 程式人生 > 實用技巧 >JVM之執行時資料區

JVM之執行時資料區

# 列表推導式不會再有變數洩露的問題
'''
列表推導式、生成器表示式,以及同他們相似的集合(set)推導和字典(dict)推導,在Python3 中都有了自己的區域性作用域,就像函式
表示式的內部的變數和賦值只在區域性起作用,表示式的上下文裡的同名變數還可以被正常引用,區域性變數並不會影響到他們。
'''

# eg:python3 中:
x = "ABC"
dummy = [ord(x) for x in x]
print(x)  # ABC
print(dummy)  # [65, 66, 67]
"""
在Python3中:
x的值被保留了
列表推導式也建立了正確的列表
"""

# eg:python2 中:
x = "my precious" dummy = [x for x in 'ABC'] print(x) # C colors = ["black", "white"] sizes = ['S', 'M', 'L'] tshirts = [(color, size) for color in colors for size in sizes] print(tshirts) # [('black', 'S'), ('black', 'M'), ('black', 'L'), ('white', 'S'), ('white', 'M'), ('white', 'L')] for color in
colors: for size in sizes: print((color, size)) # 結果如下所示: """ ('black', 'S') ('black', 'M') ('black', 'L') ('white', 'S') ('white', 'M') ('white', 'L') """