4
尋找縮減列表comprehesion和更少的循環和內存使用情況,有一些方法可以減少兩個循環來構建最終路徑,將其轉換爲單個列表comprehesion?將多個列表複製到單個語句中
def build_paths(domains):
http_paths = ["http://%s" % d for d in domains]
https_paths = ["https://%s" % d for d in domains]
paths = []
paths.extend(http_paths)
paths.extend(https_paths)
return paths
在這種情況下,該預期的結果是一個優化的列表comprehesion,從三個列表的引用(http_paths
,https_paths
,paths
)減少到一個單一的一條線,如以下示例所示結構:
def build_paths(domains):
return [<reduced list comprehesion> for d in domains]
在這兩種情況下,運行以下測試:
domains = ["www.ippssus.com",
"www.example.com",
"www.mararao.com"]
print(build_paths(domains))
預計輸出,獨立的名單順序:
< ['http://www.ippssus.com', 'http://www.example.com', 'http://www.tetsest.com', 'https://www.ippssus.com', 'https://www.example.com', 'https://www.tetsest.com']
http://stackoverflow.com/questions/11868964/python-list-comprehension-returning-two-or-more-items-for-each-item –
好的解決方案!這取決於進口聲明,但是一個好方法!爲了簡單起見,我會嘗試Martjin提出的解決方案。謝謝! – apast