python3.6
pycharm
列表推导式可以较大幅度精简语句,但是也较容易发生错误。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', '猪', '年']
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))输出 ['猪', '年']
def isHanzi(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))输出 ['', '', 输出 猪', '年']
要注意条件作用域