Я использую календарь для определения количества дней в произвольном месяце и году на основе списка лет и списка месяцев. Я пытался передать список года и месяца список в calendar.monthrange, но объекты с:Итерационные входы в calendar.monthrange
'TypeError: unorderable types: int() <= list().
Таким образом, я использовал следующий код (работоспособный, но неуклюжий). Есть ли более элегантный способ?
# my code
def daysDuringMonth(yyyy, mm):
result = [ ]
for y in yyyy:
for m in mm:
dd = calendar.monthrange(y, m)
result.append(y, m, dd[ 1 ])
return result
# input
yyyy = [ 2013, 2014 ]
mm = [ 1, 2, 12 ]
# function call
daysDuringMonth(yyyy, mm)
# output
[[2013, 1, 31],
[2013, 2, 28],
[2013, 12, 31],
[2014, 1, 31],
[2014, 2, 28],
[2014, 12, 31]]
Я могу жить с решением, но я хотел бы знать, есть ли какой-нибудь способ, чтобы избежать использования двух вложенных «для» петли.
спасибо.
BSL