वर्तमान में, मैं एक अजगर समस्या की तलाश कर रहा हूं, जहां मैं एक सूची में दो मान खोजना चाहता हूं, जिसके लिए अंतर एक विशिष्ट संख्या के सबसे करीब है।
उदाहरण के लिए, मैं A
में दो मानों को खोजना चाहता हूं जिनके लिए अंतर 2 के सबसे करीब है।
ए = [1,5,9,10,20,7]
इस मामले में, उत्तर 5
और 7
होना चाहिए।
बाधा यह है कि आप हमेशा A[N+x] - A[N]
करेंगे। उदाहरण के लिए, आपको 5-9
करने की अनुमति नहीं है। उस स्थिति में, यह हमेशा 9-5
रहेगा
क्या यह पायथन में संभव होगा?
मदद के लिए पहले ही धन्यवाद।
1 उत्तर
क्या ५,७ और ९,७ का अंतर ९,१० से २ के करीब नहीं है, बशर्ते कि वे अंतर ठीक २ हों? मुझे यकीन नहीं है कि आप उन सभी जोड़ों को छूट दे रहे हैं जिनके अंतर बिल्कुल 2 हैं। यहां कुछ कोड दिए गए हैं जिन्हें आप तदनुसार संशोधित कर सकते हैं यदि आपको उन मूल्यों को छूट देने की आवश्यकता है जिनका अंतर बिल्कुल 2 है।
import itertools
list_ = [1,5,9,10,20,7]
all_pairs = list(itertools.combinations(list_, 2))
pairs = {key:key[0]-key[1] if key[0]-key[1]>=0 else key[1]-key[0] for key in
all_pairs}
def takeClosest(num,collection):
return min(collection,key=lambda key_: abs(collection[key_]-num))
print(takeClosest(2,pairs))
उम्मीद है कि मदद करता है, यदि नहीं, तो कृपया 9,10 उदाहरण को थोड़ा और स्पष्ट करें।
संबंधित सवाल
नए सवाल
python
पायथन एक बहु-प्रतिमान है, गतिशील रूप से टाइप किया हुआ, बहुउद्देशीय प्रोग्रामिंग भाषा है। यह एक साफ और एक समान वाक्यविन्यास सीखने, समझने और उपयोग करने के लिए त्वरित होने के लिए डिज़ाइन किया गया है। कृपया ध्यान दें कि अजगर 2 आधिकारिक तौर पर 01-01-2020 के समर्थन से बाहर है। फिर भी, संस्करण-विशिष्ट पायथन सवालों के लिए, [अजगर -२.०] या [अजगर -३.x] टैग जोड़ें। पायथन वेरिएंट (जैसे, ज्योथन, PyPy) या लाइब्रेरी (उदा।, पांडस और न्यूमपी) का उपयोग करते समय, कृपया इसे टैग में शामिल करें।