[英]Multiple if conditions in a list comprehension
我有一個包含鏈接的列表,並試圖過濾它們並陷入困境。 我能夠為多個if語句顯式編寫一個函數,但希望直接在列表理解中編寫它。
我嘗試了多種方式(i.startswith(), "https" in i)
編寫它,但無法弄清楚。
這是列表理解:
[i.a.get('href') for i in link_data if i != None]
輸出:
['/gp/redirect.html/ref=as',
'https://www.google.com/',
'https://www.amazon.com/',
'/gp/redirect.html/ref=gf']
我只需要以https
開頭的鏈接。
如果上面給出的清單理解中的條件該如何寫? 任何幫助表示贊賞。
您可以將兩個條件與and
組合使用-但列表推導還支持多個if
s(使用and
評估)
這是您想要的兩個選項:
# combining conditions with `and`
output = [
i.a.get('href') for i in link_data
if i is not None and i.a.get('href').startswith('https')
]
# combining conditions with multiple `if`s
output = [
i.a.get('href') for i in link_data
if i is not None
if i.a.get('href').startswith('https')
]
(請注意,為清楚起見,將它們縮進, [
和]
之間的空格並不重要)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.