访问两个列表元素以获得结果

2024-06-16 09:09:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两张单子。一个列表名“date”中包含与人的出生日期相关的日期。你知道吗

data = [ datetime.datetime(1958, 3, 15, 0, 0), datetime.datetime(1958, 9, 15, 0, 0), datetime.datetime(1930, 10, 23, 0, 0), datetime.datetime(1928, 9, 15, 0, 0), datetime.datetime(1928, 1, 23, 0, 0), datetime.datetime(1925, 11, 15, 0, 0), datetime.datetime(1962, 7, 20, 0, 0),datetime.datetime(1960, 12, 14, 0, 0), datetime.datetime(1960, 5, 10, 0, 0),datetime.datetime(1963, 9, 7, 0, 0), datetime.datetime(1956, 3, 10, 0, 0), datetime.datetime(1955, 2, 15, 0, 0),datetime.datetime(1958, 11, 14, 0, 0),datetime.datetime(1956, 8, 24, 0, 0),datetime.datetime(1990, 4, 30, 0, 0)] 

现在下一个列表包含结婚日期。你知道吗

marriage = [ datetime.datetime(1985, 5, 14, 0, 0),datetime.datetime(1945, 6, 15, 0, 0), datetime.datetime(1938, 6, 11, 0, 0), datetime.datetime(1995, 4, 5, 0, 0), datetime.datetime(1987, 2, 26, 0, 0), datetime.datetime(1983, 12, 13, 0, 0), datetime.datetime(1980, 9, 16, 0, 0),  datetime.datetime(2011, 6, 19, 0, 0)]

“婚姻”列表中的每个日期与“日期”列表中的2个日期相关。现在,我想比较一个结婚日期和两个结婚日期,这样我就可以打印“出生日期小于结婚日期”。你知道吗

如何使用循环来完成这个任务?和这个混淆了。你知道吗

请注意,我使用import datetime,import re来完成日期比较。你知道吗


Tags: importre列表datadatetimedate出生日期单子
2条回答

这假设结婚日期和出生日期的顺序相同(即前两个出生日期对应于第一个结婚日期,后两个出生日期对应于第二个结婚日期)

for i in range(len(marriage)):
    if marriage[i] > data[i*2] and marriage[i] > data[(i*2)+1]:
        print "Both birthdates less than marriage data"

我相信我的假设是正确的,因为数据列表中的条目是婚姻列表中条目的两倍。你知道吗

for i in range(len(data)):
  if data[i] < marriage[i]:
    print "birthdate is lt marriage date"
  else:
    print "birthdate is gt or eq to marriage date"

我不知道你想在这里完成什么。。。另外,您不需要re来进行日期比较,您可以使用普通的< > == <= >=操作符。你知道吗

这听起来也像是一个哈希(字典)的工作。。。你知道吗

marriage = {
    'marriage1' : {
        '1' : <birthday>,
        '2' : <birthday>,
        'marriage-date' : <marriage-date>
    },
   'marriage2' : {
        '1' : <birthday>,
        '2' : <birthday>,
        'marriage-date' : <marriage-date>
    }
}

哈希(字典)将使与不包含相同数量值的列表进行比较变得更加容易。你知道吗

相关问题 更多 >