2010-07-19 15 views
11

असंबद्ध संख्याओं की एक सूची को देखते हुए, मैं एन (यदि कोई हो) से छोटा सबसे छोटा नंबर खोजना चाहता हूं।पायथन - सूची संचालन

सी # में, मैं इस (छोड़े गए चेक) की तरह कुछ करना चाहते हैं:

var x = list.Where(i => i > N).Min(); 

एक छोटी, पठनीय अजगर में यह करने के लिए रास्ता नहीं है क्या?

+1

* आपके द्वारा "रीडबल" का मतलब क्या है? –

+0

@SLott "पढ़ें · एक ब्ली/rēdəbəl /: (2) पढ़ने के लिए आसान या सुखद।" आपका क्या मतलब है "पठनीय द्वारा आपका क्या मतलब है?" ? –

उत्तर

19
>>> l = [4, 5, 12, 0, 3, 7] 
>>> min(x for x in l if x > 5) 
7 
+0

लोअरकेस ell एक परिवर्तनीय नाम –

+0

@ मैरियस के लिए एक अच्छा विकल्प नहीं है: क्या आपने वास्तव में इसके लिए मुझे कम किया है? फिल्टर का उपयोग कर – SilentGhost

2
x = min(i for i in mylist if i > N) 
3

अन्य लोगों को सूची समझ जवाब दे दिया है। एक वैकल्पिक filter एक सूची के तत्वों को 'फ़िल्टरिंग' के लिए उपयोगी है।

min(filter(lambda t: t > N, mylist)) 
+1

जनरेटर अभिव्यक्ति –

+0

+1 का उपयोग करने से थोड़ा धीमा है। मैंने अपने प्रश्नों को आंशिक रूप से अपने पायथन कौशल में सुधार करने के लिए कहा है, इसलिए यह उत्तर मेरे उद्देश्य को काफी अच्छी तरह से सेवा प्रदान करता है। –

संबंधित मुद्दे