Python,从列表中获取元素

时间:2014-02-04 10:55:05

标签: python

我有一个列表,其中包含信用卡付款计划等数据:

[ [pay_number, pay_date, pay_amount], [pay_number, pay_date, pay_amount], e.t.c ]

如何从中获取下一个pay_date?

2 个答案:

答案 0 :(得分:0)

你只需要遍历列表:

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]

希望这就是你要找的东西。

答案 1 :(得分:0)

您可以使用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]