एक और नहीं सबसे तेज़ तरीका है, लेकिन मैं यह अच्छी तरह
>>> [x for x in ['AAT','XAC','ANT','TTA'] if not any(y in x for y in "XN")]
['AAT', 'TTA']
>>> [x for x in ['AAT','XAC','ANT','TTA'] if not set("XN")&set(x)]
['AAT', 'TTA']
पढ़ता है इस तरह से लंबे समय तक कोडोन के लिए तेजी से हो जाएगा (यह मानते हुए कुछ पुनरावृत्ति होती है) लगता है
codon = ['AAT','XAC','ANT','TTA']
def pred(s,memo={}):
if s not in memo:
memo[s]=not any(y in s for y in "XN")
return memo[s]
print filter(pred,codon)
यहाँ विधि जेम्स ब्रूक्स ने सुझाव दिया है, आप अपने डेटा
codon = ['AAT','XAC','ANT','TTA']
def pred(s,memo={}):
if s not in memo:
memo[s]= not set("XN")&set(s)
return memo[s]
print filter(pred,codon)
इस नमूने कोडोन के लिए के लिए है जो देखने के लिए तेजी से परीक्षण करने के लिए होगा, सेट का उपयोग कर संस्करण के बारे में 10% धीमी है
स्रोत
2009-12-08 11:39:16
जब आप "सूची" से "निकालें" के लिए अजगर संदर्भ पृष्ठों में देखा, क्या तुम मिला: एक सुधार के लायक कर रही है, और रेगुलर एक्सप्रेशन के उपयोग शायद जाने के लिए रास्ता नहीं है होना करने के लिए? कुछ भी? कृपया पाइथन दस्तावेज़ों की जांच करें, और उसके बाद अपने प्रश्न को कुछ विशिष्ट के साथ अपडेट करें। –
संकेत: अपनी खोज यहां शुरू करें: http://docs.python.org/library/stdtypes.html#sequence-types-str-unicode-list-tuple-buffer-xrange –
अच्छी तरह से कहा गया प्रश्न। –