Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!feeder.erje.net!eu.feeder.erje.net!newsfeed.freenet.ag!takemy.news.telefonica.de!telefonica.de!newsfeed.xs4all.nl!newsfeed1.news.xs4all.nl!xs4all!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.020 X-Spam-Evidence: '*H*': 0.96; '*S*': 0.00; 'subject:Python': 0.06; 'alternatives': 0.09; 'works.': 0.09; 'python': 0.11; 'random': 0.14; '8bit%:32': 0.16; 'finney': 0.16; 'from:addr:mrabarnett.plus.com': 0.16; 'from:addr:python': 0.16; 'from:name:mrab': 0.16; 'implies': 0.16; 'message- id:@mrabarnett.plus.com': 0.16; 'pythonic': 0.16; 'received:192.168.1.4': 0.16; 'recognise': 0.16; 'wrote:': 0.18; 'trying': 0.19; 'header:User-Agent:1': 0.23; 'module,': 0.24; 'header:In-Reply-To:1': 0.27; "doesn't": 0.30; 'matching': 0.30; "i'm": 0.30; 'perl': 0.31; 'writes:': 0.31; "i'd": 0.34; 'problem': 0.35; 'beyond': 0.35; 'point.': 0.35; "he's": 0.36; 'so,': 0.37; 'list': 0.37; 'starting': 0.37; 'problems': 0.38; 'ben': 0.38; 'to:addr:python-list': 0.38; 'to:addr:python.org': 0.39; 'is.': 0.60; 'hear': 0.63; 'different': 0.65; 'love': 0.65; 'skip:\xe2 10': 0.65; 'talking': 0.65; 'believe': 0.68; 'obvious': 0.74; 'etc,': 0.84; 'problems?': 0.91 X-CM-Score: 0.00 X-CNFS-Analysis: v=2.1 cv=Ev9crEsA c=1 sm=1 tr=0 a=0nF1XD0wxitMEM03M9B4ZQ==:117 a=0nF1XD0wxitMEM03M9B4ZQ==:17 a=0Bzu9jTXAAAA:8 a=Vhvw94NMJWsA:10 a=IkcTkHD0fZMA:10 a=EBOSESyhAAAA:8 a=G66Q0H8O7HEJidii8JAA:9 a=QEXdDO2ut3YA:10 X-AUTH: mrabarnett@:2500 Date: Mon, 26 Jan 2015 00:43:24 +0000 From: MRAB User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 MIME-Version: 1.0 To: python-list@python.org Subject: Re: Idiomatic backtracking in Python References: <8561bumlfb.fsf@benfinney.id.au> In-Reply-To: <8561bumlfb.fsf@benfinney.id.au> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Newsgroups: comp.lang.python Message-ID: Lines: 17 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1422233013 news.xs4all.nl 2894 [2001:888:2000:d::a6]:50120 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:84583 On 2015-01-26 00:32, Ben Finney wrote: > Johannes Bauer writes: > >> So, I would like to ask if you have a Pythonic approach to >> backtracking problems? If so, I'd love to hear your solutions! > > I'm not aware of what the problem is. “Back-tracking” doesn't have a > general meaning I recognise beyond random access into a data structure. > So a Python list is the obvious starting point. > > Do you have a specific meaning of “back-tracking” that implies > particular problems that are difficult to solve? > I believe he's talking about trying different alternatives until one works. You get it in matching regexes (well, when using the NFA approach as used in the re module, Perl regexes, etc, anyway).