Path: csiph.com!xmission!feeder.erje.net!2.eu.feeder.erje.net!newsreader4.netcologne.de!news.netcologne.de!fu-berlin.de!uni-berlin.de!not-for-mail From: Vito De Tullio Newsgroups: comp.lang.python Subject: Re: [OT] C# -- sharp or carp? was Re: Learning Python (or Haskell) makes you a worse programmer Date: Tue, 29 Mar 2016 23:36:05 +0200 Lines: 28 Message-ID: References: <56f9cffb$0$1614$c3e8da3$5496439d@news.astraweb.com> <56FA565A.9020800@mail.de> <56FAA22E.3040805@mail.de> Mime-Version: 1.0 Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: 7Bit X-Trace: news.uni-berlin.de gNRPsK2wut3gFO/vWfnuVAdC715vOIAfP9+jr2f48hxw== Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.001 X-Spam-Evidence: '*H*': 1.00; '*S*': 0.00; 'subject:: [': 0.03; 'subject:Python': 0.05; 'received:80.91': 0.09; 'received:80.91.229': 0.09; 'received:gmane.org': 0.09; 'received:list': 0.09; 'syntax': 0.13; 'mylist': 0.16; 'readable': 0.16; 'received:80.91.229.3': 0.16; 'received:io': 0.16; 'received:plane.gmane.org': 0.16; 'received:psf.io': 0.16; 'subject:Learning': 0.16; 'subject:programmer': 0.16; 'wrote:': 0.16; 'subject:] ': 0.19; '>>>': 0.20; 'not,': 0.22; 'select': 0.23; 'bit': 0.23; "python's": 0.23; 'this:': 0.23; 'header:User- Agent:1': 0.26; 'header:X-Complaints-To:1': 0.26; 'skip:" 20': 0.26; 'equivalent': 0.27; 'question': 0.27; 'subject:) ': 0.32; '"")': 0.33; 'foo': 0.33; 'similar': 0.33; 'mine': 0.35; 'something': 0.35; 'but': 0.36; 'to:addr:python-list': 0.36; 'subject:: ': 0.37; 'received:org': 0.37; 'to:addr:python.org': 0.40; 'where': 0.40; 'relatively': 0.63; 'more': 0.63; 'friend': 0.81; 'subject:you': 0.85; 'received:2': 0.93 X-Injected-Via-Gmane: http://gmane.org/ X-Gmane-NNTP-Posting-Host: 2.193.37.81 User-Agent: KNode/4.14.10 X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Xref: csiph.com comp.lang.python:106004 Sven R. Kunze wrote: >>> My question to those who know a bit of C#: what is the state-of-the-art >>> equivalent to >>> >>> "\n".join(foo.description() for foo in mylist >>> if foo.description() != "") > Friend of mine told me something like this: > > String.Join("\n", mylist.Where(foo => > !String.IsNullOrEmpty(foo.description)).Select(foo => foo.description)) I don't know if is "better" or not, but I find more readable using the "sql"-like syntax string.Join("\n", from foo in mylist where !string.IsNullOrEmpty(foo.description()) select foo.description()); which is relatively similar to the python's comprehension. -- By ZeD