के लिए एक पायथन में पहली और आखिरी वस्तु प्राप्त करना क्या एक जनरेटर पर फिर से चलने वाले लूप में पहली और आखिरी वस्तु को फंसाने का एक सुरुचिपूर्ण और पायथन तरीका है?लूप
from calendar import Calendar
cal = Calendar(6)
month_dates = cal.itermonthdates(year, month)
for date in month_dates:
if (is first item): # this is fake
month_start = date
if (is last item): # so is this
month_end = date
इस कोड महीने पर समाप्त होता है सप्ताह के पहले दिन पाने के लिए प्रयास कर रहा है, और सप्ताह के अंतिम दिन माह पर समाप्त होता है। उदाहरण: जून के लिए, महीने की शुरुआत का मूल्यांकन 5/31/09 को करना चाहिए। हालांकि यह तकनीकी रूप से मई में एक दिन है, यह जून के शुरू होने वाले सप्ताह का पहला दिन है।
महीनों की तारीख एक जनरेटर है इसलिए मैं [: -1] चीज़ नहीं कर सकता। इसे संभालने का बेहतर तरीका क्या है?
+1, आप [-1] (कोई कोलन) month_dates को month_end – Triptych
धन्यवाद, त्रिफलक बदलने संभालने। –
नाइटपिकनेस का बहुत छोटा बिंदु: जैसा कि ओपी इंगित करता है, यह वास्तव में आपको मुद्रित कैलेंडर पर तिथियां देता है, शुरुआत में fillers के साथ पूरा होता है और 7-दिन के सप्ताह बनाने के लिए समाप्त होता है। इसलिए एक महीने के लिए सूची का अधिकतम आकार 42 है। (मुझे पता है, आधुनिक मशीनों की स्मृति क्षमता अतिरिक्त 11 तिथियों को संभालने के लिए उपभेद है।) –