Python问题:阅读这个代码,解释功能

list1 = ['h6', 'hi', 'jsy', 'JSY', 'main']
list2 = [word.title() if word.startswith('h') else word.upper() for word in list1]

list1是一个列表
list2也是一个列表,不过是由列表生成式,或者叫列表推导式,生成的列表。生成的规则如下:
逐个检查list1里的元素:
1)如果元素是以小写英文字母"h"开头,则把该元素连续字母的第一个字母大写,放进list2里(title()方法的功能,如果字符串里有连续英文字母,则把第一个字母大写,比如"h6"就变成"H6",要注意的是只要连续英文字母,所以如果有"h6c3de"这样的字符串,会被变成"H6C3De"')
2)除此之外,如果元素不是以小写英文字母"h"开头,则把该元素的所有英文字母大写,再放进list2里。(upper()的功能)