import itertools class IterHelper(object): def __init__(self, iterable = None): self.iterable = iterable def map(self, func): return IterHelper(itertools.imap(func, self.iterable)) def filter(self, predicate): return IterHelper(itertools.ifilter(predicate, self.iterable)) def chain(self): return IterHelper(itertools.chain.from_iterable(self.iterable)) def first(self): for item in self.iterable: return item return None def to_list(self): return list(self.iterable) technologies = ["python", "ruby", "javascript", "coffeescript", "ruby on rails", "django", "node.js", "sinatra", "flask", "cherrypy"] # method 1 - traditional if statement nested within a loop def get_tech(name): for tech in technologies: if tech == name: return tech return None print get_tech("python") # method 2 - list comprehension def get_tech(name): results = [tech for tech in technologies if tech == name] if len(results) > 0: return results[0] return None print get_tech("ruby") #method 3 - using linq pattern def get_tech(name): return IterHelper(technologies)\ .filter(lambda tech:tech == name)\ .first() print get_tech("ruby")
Run
Reset
Share
Import
Link
Embed
Language▼
English
中文
Python Fiddle
Python Cloud IDE
Follow @python_fiddle
Browser Version Not Supported
Due to Python Fiddle's reliance on advanced JavaScript techniques, older browsers might have problems running it correctly. Please download the latest version of your favourite browser.
Chrome 10+
Firefox 4+
Safari 5+
IE 10+
Let me try anyway!
url:
Go
Python Snippet
Stackoverflow Question