很简单的有关问题,关于List,请教这句话是什么语法

很简单的问题,关于List,请问这句话是什么语法?
featList = [example[i] for example in dataSet]

是机器学习上的,不过这句话的语法看不懂,又不太好查,请朋友们帮忙说一下就可以了,谢谢。
------解决思路----------------------

dataSet=[(1,2),(2,3)]
featList=[]
i=0
for example in dataSet:
  featList.append(example[i])
print featList
------解决思路----------------------
一些书上称为 列表表达式
类似还有生成表达式 
如 featList = (example[i] for example in dataSet)
生成表达式一般可省略两端原括号,写成
featList = example[i] for example in dataSet
生成表达式和 for + yield 相似
列表表达式和生成表达式都比等效的多行 for 循环效率要高,所以要善用表达式,减少写循环语句
ps:生成表达式赋值给变量后,该变量只能遍历一次,要二次或多次遍历就要先转成列表

另外还有类似写法的字典表达式