python利用or在列表解析中調用多個函數.py

"""
python利用or在列表解析中調用多個函數.py
2016年3月15日 05:08:42 codegay

"""

'''有時候我會在列表解析中write文件,
或者調用print顯示輸出,不是爲了收集結果,
而是由於能省代碼行數'''

#代碼例子1
with open("a.txt","w+") as f:
    [print(str(r)) for r in range(10)]
    [f.write(str(r)+"\n") for r in range(10)]


#代碼例子2 利用or列表解析調用多個函數
def a(x):
    print("函數a輸出:",x)

def b(x):
    print("函數b輸出:",(x+10)**2)

[a(r) or b(r) for r in range(10)]
"""
例子2代碼輸出:

函數a輸出: 0
函數b輸出: 100
函數a輸出: 1
函數b輸出: 121
函數a輸出: 2
函數b輸出: 144
函數a輸出: 3
函數b輸出: 169
函數a輸出: 4
函數b輸出: 196
函數a輸出: 5
函數b輸出: 225
函數a輸出: 6
函數b輸出: 256
函數a輸出: 7
函數b輸出: 289
函數a輸出: 8
函數b輸出: 324
函數a輸出: 9
函數b輸出: 361
"""

#現學現用,例子1中的代碼能夠改爲以下:
with open("a.txt","w+") as f:
    [print(str(r)) or f.write(str(r)+"\n") for r in range(10)]

input("任意鍵退出")
相關文章
相關標籤/搜索