Path: csiph.com!fu-berlin.de!uni-berlin.de!not-for-mail From: Joel Goldstick Newsgroups: comp.lang.python Subject: Re: pylint woes Date: Sun, 8 May 2016 17:39:44 -0400 Lines: 122 Message-ID: References: <572f24bc$0$1618$c3e8da3$5496439d@news.astraweb.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-Trace: news.uni-berlin.de oB16eJYUcR7Y2DCY+fIcHwofAk2xU/LY3XvUpgMSmb6g== Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.009 X-Spam-Evidence: '*H*': 0.98; '*S*': 0.00; 'skip:[ 20': 0.03; '[],': 0.07; 'raises': 0.07; 'cc:addr:python-list': 0.09; 'addr': 0.09; 'fails.': 0.09; 'oh,': 0.09; 'way:': 0.09; 'url:blog': 0.10; 'sections': 0.13; 'times,': 0.13; '*i*': 0.16; '2016': 0.16; 'advice,': 0.16; 'atomic.': 0.16; 'dfs': 0.16; 'iterating': 0.16; 'received:io': 0.16; 'received:psf.io': 0.16; 'wrote:': 0.16; 'exists': 0.18; '>>>': 0.20; 'cc:2**0': 0.20; 'cc:addr:python.org': 0.20; 'names.': 0.22; 'parse': 0.22; 'am,': 0.23; 'header:In-Reply-To:1': 0.24; 'chris': 0.26; 'skip:t 40': 0.27; 'message-id:@mail.gmail.com': 0.27; 'document.': 0.27; "i'm": 0.30; 'url:mailman': 0.30; 'skip:[ 10': 0.31; '"the': 0.32; 'addresses': 0.32; 'skip:t 50': 0.32; 'url:python': 0.33; "d'aprano": 0.33; 'point,': 0.33; 'steven': 0.33; "i'll": 0.33; 'url:listinfo': 0.34; 'that,': 0.34; 'list': 0.34; 'advice': 0.35; 'received:google.com': 0.35; 'skip:c 30': 0.35; 'lists.': 0.35; 'question,': 0.35; 'something': 0.35; 'but': 0.36; 'should': 0.36; 'instead': 0.36; 'url:org': 0.36; 'received:209.85': 0.36; 'pm,': 0.36; 'subject:: ': 0.37; 'really': 0.37; 'thought': 0.37; 'starting': 0.37; 'things': 0.38; 'doing': 0.38; 'received:209': 0.38; 'names': 0.38; 'mean': 0.38; 'why': 0.39; 'data': 0.39; 'sure': 0.39; 'whatever': 0.39; 'received:209.85.214': 0.39; 'url:mail': 0.40; 'street,': 0.60; 'address': 0.61; 'here.': 0.62; 'different': 0.63; 'city': 0.65; 'website:': 0.65; 'state,': 0.66; 'url:info': 0.71; 'succeeds': 0.84; 'to:none': 0.91; 'ask,': 0.91; 'joel': 0.91; 'rd,': 0.91; 'scraping': 0.91; 'states,': 0.93 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:cc; bh=vouprW8pyM91UwDlNtK0UQxpjhSAQQYEwrtC7VWlpn8=; b=z0PbIC20WwzsBqGM7PHwHSMfz5bcVvCp9J2TV75FkBthigkAy61Q49iLkrvhe6aK6z nya83aWeHsh2HLpm31fXnpta0FZalqdmUmenzZej7H4JsMp4An5uuu2zDQyUEvKOPBMs RpfQ6UpTosnyieRMgCwSMywyaOi+kfNG5tzHEqSz5PsD3JylzRoagQtI1pOlIq1uCEwX i7U0YkTzKRldUCIBKM5EhUe6cBp3oyet1xHj+in73nDq+qOG3vs9unaBpfByN0P9hLUB IW1dyJ3ViHpHegMCAu5fMEObyMYVp4IVonMqohbTe7iO4wEh+FMv4DlX2Cdw51BMjRSg 6ySA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:cc; bh=vouprW8pyM91UwDlNtK0UQxpjhSAQQYEwrtC7VWlpn8=; b=lBUkP71VRFKSiwzZLJCVjXfJpN7mkxXwuLkojwA31vbC5eJQuH8EzilCH8qZ6FVFNf kpK3KTiDL9BUmKNxwe2H6AStViKpnEiLjsTaulMB72XJJ+w/4aVd5l6Wbb1Gojibzf6y bmmEANy4Hr8po6gJYujhkoxA8o8YKubB7MJDPEnxz3aqtYsJQTpwH5CzGPQZJXugXgU3 Y6LDC1cBrQaEJXUukkjDFmTB7ude3xW0VsLN5ZSmf43YDnGMChT0VaK0YHLhSIpE5TLq 87npa12Fu3FwXQVG3YXL8bd1Lp426zsmPGu+/4QZ8Q/iSy9v/HZpZ9R2PXW6nYnfCUOp xERA== X-Gm-Message-State: AOPr4FVAL3EYS7IVeVQ2tdsMk30Gp0TDihcJMjci45znTc2fCnGv3KOlIbRxmQ4t7msRysa7cnCFtDabDJ2A8g== X-Received: by 10.60.13.132 with SMTP id h4mr11829696oec.70.1462743584502; Sun, 08 May 2016 14:39:44 -0700 (PDT) In-Reply-To: X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Mailman-Original-Message-ID: X-Mailman-Original-References: <572f24bc$0$1618$c3e8da3$5496439d@news.astraweb.com> Xref: csiph.com comp.lang.python:108390 On Sun, May 8, 2016 at 5:24 PM, DFS wrote: > On 5/8/2016 7:36 AM, Steven D'Aprano wrote: >> >> On Sun, 8 May 2016 11:16 am, DFS wrote: >> >>> address data is scraped from a website: >>> >>> names = tree.xpath() >>> addr = tree.xpath() >> >> >> Why are you scraping the data twice? > > > > Because it exists in 2 different sections of the document. > > names = tree.xpath('//span[@class="header_text3"]/text()') > addresses = tree.xpath('//span[@class="text3"]/text()') > > > I thought you were a "master who knew her tools", and I was the apprentice? > > So why did "the master" think xpath() was magic? > > > > > > >> names = addr = tree.xpath() >> >> or if you prefer the old-fashioned: >> >> names = tree.xpath() >> addr = names >> >> but that raises the question, how can you describe the same set of data as >> both "names" and "addr[esses]" and have them both be accurate? >> >> >>> I want to store the data atomically, >> >> >> I'm not really sure what you mean by "atomically" here. I know what *I* >> mean >> by "atomically", which is to describe an operation which either succeeds >> entirely or fails. > > > That's atomicity. > > > >> But I don't know what you mean by it. > > http://www.databasedesign-resource.com/atomic-database-values.html > > > >>> so I parse street, city, state, and >>> zip into their own lists. >> >> >> None of which is atomic. > > > All of which are atomic. > > > >>> "1250 Peachtree Rd, Atlanta, GA 30303 >>> >>> street = [s.split(',')[0] for s in addr] >>> city = [c.split(',')[1].strip() for c in addr] >>> state = [s[-8:][:2] for s in addr] >>> zipcd = [z[-5:] for z in addr] >> >> >> At this point, instead of iterating over the same list four times, doing >> the >> same thing over and over again, you should do things the old-fashioned >> way: >> >> streets, cities, states, zipcodes = [], [], [], [] >> for word in addr: >> items = word.split(',') >> streets.append(items[0]) >> cities.append(items[1].strip()) >> states.append(word[-8:-2]) >> zipcodes.append(word[-5:]) > > > > > That's a good one. > > Chris Angelico mentioned something like that, too, and I already put it > place. > > > >> Oh, and use better names. "street" is a single street, not a list of >> streets, note plural. > > > > I'll use whatever names I like. > > > > > > -- > https://mail.python.org/mailman/listinfo/python-list Starting to look like trolling. Lots of good advice here. If you ask, and don't like the advice, don't use it. -- Joel Goldstick http://joelgoldstick.com/blog http://cc-baseballstats.info/stats/birthdays