[英]Python list comprehension for if and elif function
from datetime import date
a_dictionary = {"name" : "John", "age" : 35, "height" : 65}
dict_items = a_dictionary.items()
def month_selct(d):
if date.today().month == 1:
d = list(d)[:2]
elif date.today().month == 2:
d = list(d)[:2]
elif date.today().month == 3:
d = list(d)[:2]
month_selct(dict_items)
你能幫我減少這個代碼嗎? 我希望這個函數每個月都能使用,但它只是其中 3 個的一個例子
您可以使用字典在 python 中實現切換邏輯:
def month_selct(d):
switch = {
1 : list(d)[:2],
2 : list(d)[:2],
3 : list(d)[:2],
11: list(d)[:2]
}
return switch[date.today().month]
print(month_selct(dict_items))
您可以使用 for 循環遍歷每個月並檢查那是您所在的月份,如下所示:
def month_select(d):
for m in range(1, 13):
if date.today().month == m:
d = list(d)[:2]
編輯:您要求列表理解解決方案
d = [list(d)[:2] for m in range(1, 13) if date.today().month == m]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.