我想使用这样的海象运算符创建一个列表:
myvar = tr_list[8].css('td ::text').extract()
item['myvar'] = [
it := re.sub(PATTERN, "", i).strip() for i in myvar if len(it) > 0
]
我得到这个错误:
it := re.sub(PATTERN, "", i).strip() for i in myvar if len(it) > 0
NameError: free variable 'it' referenced before assignment in enclosing scope
另一方面,当我这样做时,它会起作用:
myvar = tr_list[8].css('td ::text').extract()
item['myvar'] = [
re.sub(PATTERN, "", i).strip() for i in myvar if len(re.sub(PATTERN, "", i).strip()) > 0
]
在哪里:
PATTERN = "\r|\t|\n"
任何人都可以帮忙吗?我不知道我在这里错过了什么