2024-05-12 15:46:05 发布
网友
考虑一下这个代码
description = "" desc = hxs.select('/html/head/meta[2]/@content').extract() if len(desc) > 0: description = desc[0] item["description"] = description
desc是字符串列表。如果列表为空,则说明是空字符串,如果不是,则说明是列表中的第一个元素。如何让它更像Python?
忘了说我必须用2.7
或者,您可以使用next支持默认值这一事实
item["description"] = next(iter(desc), "")
您可以使用异常处理(尽管它比使用条件表达式更详细)。
desc = hxs.select('/html/head/meta[2]/@content').extract() try: description = desc[0] except IndexError: description = ""
你可以写:
desc = hxs.select("/html/head/meta[2]/@content").extract() item["description"] = desc[0] if len(desc) > 0 else ""
正如下面的注释所指出的,您还可以在布尔上下文中直接计算列表:
item["description"] = desc[0] if desc else ""
或者,您可以使用next支持默认值这一事实
您可以使用异常处理(尽管它比使用条件表达式更详细)。
你可以写:
正如下面的注释所指出的,您还可以在布尔上下文中直接计算列表:
相关问题 更多 >
编程相关推荐