2010-03-17 69 views
0

这个问题属于“是的 - 这个作品,是的 - 这是丑陋的,是的 - 有可能是更好的方式”。我想用正则表达式来拉组出赛,然后打印组号码和组值。这是向有人展示正则表达式的工作方式,并跟踪每个组的价值。该代码的作品是:在Python中打印元组索引

import re 

FundTypeGroups = re.match("([A-Z]0)(\d)([A-Z])","G02A").groups() 
print FundTypeGroups 

for FundTypeGroup in FundTypeGroups: 
    print "%s: %s" % (FundTypeGroups.index(FundTypeGroup), FundTypeGroup) 

是否有更好的方式来打印每个元组条目的索引?

+4

切勿使用大写字母作为变量的第一个字母,除非它是指一类。 – 2010-03-17 18:26:53

+0

的你,而不是打各的风格仿paux一次一个看看PEP 8风格指导。 http://www.python.org/dev/peps/pep-0008/ – 2010-03-18 00:26:01

回答

4
for index, group in enumerate(FundTypeGroups): 
    print "%s: %s" % (index, group) 

(和变量不应该以大写字母开头...)

+0

如果我将字符串从“G02A”更改为与模式不匹配并且没有组返回的东西,我会添加“除AttributeError “要抓住这个状况? – 2010-03-17 18:37:27

+0

@Count:是的,或者在循环之前检查'FundTypeGroups'是否为None。 – kennytm 2010-03-17 18:38:21