python列表推导式的三种形式
1、列表推导式可以较大幅度精简语句,但是也较容易发生错误。def isHanzi(word): for hanzi in word多唉捋胝: if (('\u4e00' <= hanzi) and (hanzi <= '\u9fff')): return True return False#列表推导式1X = [ '2019', 'is', '猪', '年']Y = [ '2019', 'is', '猪', '年']#[表达式 for 变量 in 列表]X1 = [x for x in X] #range(1,3)]print(X1,type(X1))输出['2019', 'is', '猪', '年'] <class 'list'>
2、def isHanzi(word): for hanzi in word: if (('\u4e00' <= hanzi) and (hanzi <= '\u9fff')): return True return False#列表推导式1X = [ '2019', 'is', '猪', '年']Y = [ '2019', 'is', '猪', '年']#列表推导式2#[表达式 for 变量 in 列表 if 条件]X2 = [x for x in X if isHanzi(x) ]print(X2,type(X2))输出['猪', '年'] <class 'list'>
3、def i衡痕贤伎sHanzi(word): for hanzi in word: if (('\u4e00' <租涫疼迟= hanzi) and (hanzi <= '\u9fff')): return True return False#列表推导式1X = [ '2019', 'is', '猪', '年']Y = [ '2019', 'is', '猪', '年']#[表达式1 if 条件 else 表达式2 for 变量 in 列表]X3 = [x if isHanzi(x) else "" for x in Y]print(X3,type(X3))输出 ['', '', 输出猪', '年'] <class 'list'>