के साथ सूची आरंभ करें क्या यह बिना किसी लूप के सभी सूची मूल्यों को प्रारंभ किए बिना लूप संभव है? उदाहरण के लिए मैं सभी तत्वों की एन तत्वों की एक सूची चाहता हूं।उसी बूल वैल्यू
27
A
उत्तर
75
आप इस तरह यह कर सकते हैं: -
>>> [False] * 10
[False, False, False, False, False, False, False, False, False, False]
नोट: - ध्यान दें कि, आप एक ही मूल्य के साथ mutable types
के list
के साथ ऐसा कभी नहीं करना चाहिए, और आप की तरह आश्चर्य की बात व्यवहार देखेंगे नीचे उदाहरण में से एक: -
>>> my_list = [[10]] * 3
>>> my_list
[[10], [10], [10]]
>>> my_list[0][0] = 5
>>> my_list
[[5], [5], [5]]
जैसा कि आप देख सकते हैं, एक आंतरिक सूची में किए गए परिवर्तन, उन सभी में दिखाई देते हैं।
9
my_list = [False for i in range(n)]
यह आपको अलग-अलग तत्वों को बदलने की अनुमति देगा क्योंकि यह प्रत्येक तत्व को स्वतंत्र रूप से बनाता है।
हालांकि, यह तकनीकी रूप से एक लूप है।
3
जब अंतरिक्ष मायने रखता है, bytearray
बेहतर विकल्प है। यह बूलियन समाधान की सूची की तुलना में लगभग पांच गुना अधिक कुशल है।
B = bytearray(N)
यह बिल्कुल इस समस्या के लिए सही मुहावरा है:
यह
N
मूल्यों की एक सरणी, शून्य करने के लिए प्रारंभ पैदा करता है। हालांकि, जब आप एक म्यूटेबल प्रकार से निपट रहे हैं तो यह बिल्कुल गलत मुहावरे है: '[[]] * 10' के नए आने वालों के लिए कुछ आश्चर्यजनक परिणाम हैं :)। – mgilson