उदाहरण के लिए, [1, 5, 7] को [1,2,5,6,7,8] में पाइथन में कैसे परिवर्तित करें? [x, x + 1 में एक्स के लिए [1,5,7]] यकीन है के लिए काम नहीं कर सकते हैं ...पायथन में एकाधिक तत्वों में तत्व को मैप करके सूची को कैसे परिवर्तित करें?
उत्तर
सुनिश्चित नहीं हैं कि अगर यह सबसे अच्छा तरीका है, लेकिन मैं करना होगा:
l = [1, 5, 7]
print([y for x in l for y in (x, x + 1)])
एक और तरीका है itertools.chain.from_iterable
का उपयोग कर:
from itertools import chain
l = [1, 5, 7]
print(list(chain.from_iterable((x, x + 1) for x in l)))
आप tuples के साथ अपनी सूची समझ तर्क करते हैं और उसके बाद कर सकते हैं समतल जिसके परिणामस्वरूप सूची:
[n for pair in [(x, x+1) for x in [1,5,7]] for n in pair]
यदि आप केवल न्यूनतम और अधिकतम + 1 मानों के बीच की संख्या के साथ सूची भरना चाहते हैं तो आप [i for i in range (min(x),max(x)+2)]
का उपयोग कर सकते हैं x
आपकी सूची है।
और आप हमेशा operator
, imap()
, partial()
, izip()
और chain()
के साथ समस्या यह overcomplicate कर सकते हैं:
>>> from itertools import chain, izip, imap
>>> from operator import add
>>> from functools import partial
>>>
>>> l = [1, 5, 7]
>>>
>>> list(chain(*izip(l, imap(partial(add, 1), l))))
[1, 2, 5, 6, 7, 8]
यहाँ क्या होता है:
- हम
l
पर एक इटरेटर बनाने के एकadd
function साथ लागू होने वाला1
एक तर्क के रूप में - हम प्रारंभिक एल ज़िप इटरेटर
imap()
द्वारा दिया एक्स के जोड़े का निर्माण करने के साथ IST, x + 1 मूल्यों - हम flatten the list with
chain()
और यह सूची में बदलने का परिणाम
एक साधारण समस्या के बारे में सोचने के लिए जिस तरह से देखने के लिए एक बनाने के लिए है बढ़ती मूल्यों की दूसरी सूची और मूल सूची में जोड़ने, तो यह क्रमबद्ध करें:
l = [1, 5, 7]
m = l + [i+1 for i in l]
m.sort()
print m # [1, 2, 5, 6, 7, 8]
आप alecxe के जवाब से कुछ विचारों को जोड़ सकते हैं और क्या आप पहले से ही था:
>>> import itertools
>>>
>>> a = [1, 5, 7]
>>> b = ((x, x+1) for x in a)
>>>
>>> list(itertools.chain(*b))
[1, 2, 5, 6, 7, 8]
क्या मैंने किया है है:
b
एक generator expression जो हमें की अनुमति देता है में परिभाषित करें (कुछ है कि तरह दिखता है) एक टपल कि((1, 2), (5, 6), (7, 8))
की तरह है, लेकिन यह अभी के मूल्यांकन के बिना देखा होता। यह एक सूची समझ के साथ भी काम किया होगा।Unpack
b
in the argument list itertools.chain()। यहitertools.chain((1, 2), (5, 6), (7, 8))
के बराबर होगा। वह कार्य अपने तर्कों को जोड़ता है।itertools.chain()
फ़ंक्शन के वापसी मूल्य से सूची बनाने के लिए सूची() का उपयोग करें क्योंकि यह एक इटरेटर है।
यह भी किसी मध्यवर्ती चरण के बिना काम कर सकता है:
>>> import itertools
>>> list(itertools.chain(*((x, x+1) for x in [1, 5, 7])))
[1, 2, 5, 6, 7, 8]
लेकिन
मुझे आशा है कि इस मदद करता है "सरल जटिल की तुलना में बेहतर है।"
अगर मुझे अधिक प्रतिष्ठा है, तो मैं और अधिक लिंक डालता।
एक जेनरेटर फ़ंक्शन बनाएं जो सूची और उपज पर पुनरावृत्त करता है, बदले में, प्रत्येक तत्व और वह तत्व प्लस वन। अपने जेनरेटर पर Iterate।
def foo(lyst):
for element in lyst:
yield element
yield element + 1
>>> print(list(foo([1, 5, 7])))
[1, 2, 5, 6, 7, 8]
>>>
>>> print([element for element in foo([1, 5, 7])])
[1, 2, 5, 6, 7, 8]
>>>
- 1. पायथन में एक सूची को दूसरे में कैसे मैप करें?
- 2. सूची में एकाधिक तत्व कैसे सम्मिलित करें?
- 3. किसी सूची में दो तर्क फ़ंक्शन को कैसे मैप करें?
- 4. एन तत्वों द्वारा पायथन में तत्वों को कैसे समूहित करें?
- 5. सूची पायथन में तत्वों को छोड़ना
- 6. पायथन एक स्ट्रिंग को तर्क सूची में परिवर्तित करें
- 7. संग्रह में सूची को कैसे परिवर्तित करें?
- 8. पायथन में एक सुस्तवादी में मूल्यों की जांच करके सूची को कैसे क्रमबद्ध करें?
- 9. एकाधिक तत्वों में सीएसएस एनिमेशन को कैसे सिंक करें?
- 10. किसी सूची (पायथन) में तत्वों को ढूंढना और बदलना
- 11. पायथन शब्दकोश को tuple में परिवर्तित करें
- 12. सूची सूची में सूची कैसे परिवर्तित करें?
- 13. पायथन: स्थानीय समझ को सूची समझ में कैसे सेट करें?
- 14. पायथन 3 को पायथन 2 कोड में कैसे परिवर्तित करें?
- 15. पायथन - सूचियों की सूची में तत्वों को छंटनी
- 16. एक स्ट्रिंग को कैसे परिवर्तित करें जिसमें पायथन में सूची में न्यूलाइन वर्ण हैं?
- 17. जावा में मानचित्र को सूची में कैसे परिवर्तित करें 8
- 18. पायथन में फ़ाइल को utf-8 में कैसे परिवर्तित करें?
- 19. पायथन में `ctime` से` datetime` को कैसे परिवर्तित करें?
- 20. सूची में तत्वों को सारांशित करना
- 21. हास्केल में किसी सूची में तत्व को कैसे स्थानांतरित करें?
- 22. जेसन को ऑब्जेक्ट में कैसे परिवर्तित करें?
- 23. अंडरस्कोर का उपयोग करके पहले तत्व से तत्वों की सूची में पुनरावृत्ति कैसे करें?
- 24. पांडा में एकाधिक कॉलम का उपयोग करके फ़ंक्शन को कैसे मैप करें?
- 25. पायथन - प्रत्येक सूची में चौथे तत्व द्वारा सूचियों की सूची को कैसे क्रमबद्ध करें?
- 26. हास्केल में एकाधिक तर्कों पर फ़ंक्शंस की सूची को कैसे मैप करें?
- 27. सूची में तत्वों को शफल करना (यादृच्छिक रूप से सूची तत्वों को पुन: व्यवस्थित करें)
- 28. java.util.List को एक स्कैला सूची में कैसे परिवर्तित करें
- 29. डेटाफ्रेम को नेस्टेड सूची में कैसे परिवर्तित करें?
- 30. तारों की सूची को युगल में कैसे परिवर्तित करें?
ऐसा मत सोचो कि वे क्या हासिल करने की कोशिश कर रहे हैं। – 101