0

djangoでタプルのリストを作成しようとしています

appointments = [(datetime(2012, 5, 22, 10), datetime(2012, 5, 22, 10, 30)),    
                (datetime(2012, 5, 22, 12), datetime(2012, 5, 22, 13)),    
                (datetime(2012, 5, 22, 15, 30), datetime(2012, 5, 22, 17, 10))]

私はdjangoクエリセットを繰り返し、値を次のようにappoinmentsリストに保存しています

    appoinments = [] 
    for select_meeting in get_meeting:
        getm = int(select_meeting.duration)
        appoinments += zip(((select_meeting.meeting_datetime),
                            (select_meeting.meeting_datetime + timedelta(minutes = getm))))
    print appoinments

しかし、それは実際には私の要件ではないような結果を返しています

[(datetime.datetime(2012, 11, 11, 21, 5),),
 (datetime.datetime(2012, 11, 11, 22, 5),),
 (datetime.datetime(2012, 11, 11, 23, 5),),
 (datetime.datetime(2012, 11, 12, 0, 5),)]
4

2 に答える 2

2

zip を間違って使用しています - それは実際にはどのように機能し、それは正常です (返される i 番目のタプルには、指定された iterable の i 番目の要素が含まれます)。それらの行は次のようになります。

appointments.append((select_meeting.meeting_datetime,
                     select_meeting.meeting_datetime + timedelta(minutes = getm)))

そして、それはあなたが今欲しいものでなければなりません。

于 2012-08-16T08:36:02.710 に答える
0
appointments = [(x, x+timedelta(minutes=x.duration)) for x in get_meeting]
于 2012-08-16T09:01:23.617 に答える