У меня есть список списков с данными, как кредит платит график:Python, получить элемент из списка
[ [pay_number, pay_date, pay_amount], [pay_number, pay_date, pay_amount], e.t.c ]
как я могу получить следующий pay_date от него?
У меня есть список списков с данными, как кредит платит график:Python, получить элемент из списка
[ [pay_number, pay_date, pay_amount], [pay_number, pay_date, pay_amount], e.t.c ]
как я могу получить следующий pay_date от него?
Вам просто нужно пройти по списку:
thelist = [ [pay_number, pay_date, pay_amount], [pay_number, pay_date, pay_amount], ... ]
for sub_list in thelist:
current_pay_date = sub_list[1]
# do something with current_pay_date
Если вы хотите получить доступ к следующим pay_date
:
for i in range(len(thelist)):
sub_list = thelist[i]
current_pay_date = sub_list[1]
next_sub_list = thelist[i+1]
next_pay_date = next_sub_list[1]
Надеется, что это было то, что вы искали.
для sub_list в thelist: current_pay_date = sub_list [1] if current_pay_date> datetime.date.today(): return sub_list , что мне нужно. Большое спасибо –
Вместо 'range (len (thelist))', вы можете просто использовать 'enumerate'. –
Вы можете использовать функцию min
, чтобы получить элемент из списка, который является самым близким к сегодняшнему дню с помощью настраиваемого key
функции:
>>> items = [[1, datetime.date(2014, 2, 28), 1], [2, datetime.date(2014, 2, 7), 2], [3, datetime.date(2014, 2, 14), 3]]
>>> min(items, key=lambda x: x[1] - datetime.date.today())
[2, datetime.date(2014, 2, 7), 2]
>>> items = [[1, datetime.date (2014, 1, 28), 1], [2, datetime.date (2014, 2, 13), 2], [3, datetime.date (2014, 2, 14), 3]] >>> min (items, key = lambda x: x [1] - datetime.date.today()) >>> [1, datetime.date (2014, 1, 28), 1] , но это в прошлом –
Я имел в виду следующее pay_date, связанное с текущей датой –