python列表推导式的三种形式
1、列表推导式可以较大幅度精简语句,但是也较容易发生错误。
def isHanzi(word):
for hanzi in word:
if (('\u4e00' <= hanzi) and (hanzi <= '\u9fff')):
return True
return False
#列表推导式1
X = [ '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
#列表推导式1
X = [ '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 isHanzi(word):
for hanzi in word:
if (('\u4e00' <= hanzi) and (hanzi <= '\u9fff')):
return True
return False
#列表推导式1
X = [ '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'>