2010-03-17 99 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