Movatterモバイル変換
[0]ホーム
How best to write this if-else?
Ben Wolfsonwolfson at uchicago.edu
Sat Apr 21 17:27:35 EDT 2001
In article <roy-D0E658.17013521042001 at news.panix.com>, "Roy Smith"<roy at panix.com> wrote:> What if I want to execute different code depending on which expression I> matched? Something along the lines of (pseudocode):>> if (m = e1.match(line)):> text1 = m.group(1)> do_complicated_processing (text1)> elif (m = e2.match(line)):> text1 = m.group(1)> text2 = m.group(2)> print text1, text2> elif (m = e3.match(line)):> returnYou could dodef meaningful_name_1(matchobject): do_complicated_processing(matchobject.group(1))def meaningful_name_2(matchobject): ...etcre_dispatch = {re.compile(blah):meaningful_name_1, re.compile(durh):meaningful_name_2 ..etc }for re, func in re_dispatch.items(): m = re.match(line) if m: func(m) breakelse: no match found-- Barnabas T. RumjugglerThou hast been called, O Sleep! The friend of woe,But 'tis the happy who have called thee so. -- Robert Southey
More information about the Python-listmailing list
[8]ページ先頭