python 一个小程序的问题

来源:百度知道 编辑:UC知道 时间:2024/05/26 06:21:22
def words_divide(word_tuple):
res={}
for word in word_tuple:
print word[0]
try:
res[word[0]].append(word)
except:
res[word[0]]=[]
res[word[0]].append(word)
print res,'\n',res.values()

words=('abc','bcd','cdf','apple','banana','cake')
print words_divide(words)

在try与except中的语句看不明白,不理解其具体含义。
可能是我说的不清楚,我问的是try 与 except 下的
res[word[0]].append(word)
res[word[0]]=[]
res[word[0]].append(word)这3条语句是什么意思。

try:
看看res字典里有没有word[0]这个key,如果有,就append word变量
except:
如果抛出异常,就说明res字典里没有word[0]这个key
因此创建key=word[0],初始值为空list,
然后在此list后append word变量

try ... except 是用来捕捉异常的
比如:
>>> list = [1,2,3]
>>> len(list)
3
>>> print list[10]# 索引10不存在,引发了IndexError异常
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: list index out of range
>>> try:
... print list[10]
... except IndexError:# 使用except来捕捉IndexError异常
... print "Index Error !!!"
...
Index Error !!!
>>>