确定列表元素是否为日历月


j_list = ['apple', 'mango', 'march', 'car', 'april', 'ocean']

在迭代上面的列表时,我需要找到列表元素是否是一个月。

calender模块对您的问题很有用。

from calendar import month_name
months = {m.lower() for m in month_name[1:]} #list of months in lowercase
j_list = ['apple', 'mango', 'march', 'car', 'april', 'ocean']
for element in j_list:
print(f'{element} : {element in months}') # result of checking is printed in boolean type 

结果如下:

apple : False
mango : False
march : True
car : False
april : True
ocean : False

不使用import的解决方案:

创建一个包含月份名称的列表,并遍历j_list,检查元素是否在第一个列表中。

month_names = ['january', 'february' ... 'december']
for el in j_list:
print(el, ':', el in month_names)

注意:它比import更快,因为:import本身可能需要时间;calendar.month_name有一个空字符串(第一个元素(,所以它有点慢,对于像j_list这样的巨大列表来说慢得多。

相关内容

  • 没有找到相关文章

最新更新