将循环和条件语句转换为列表推导式
能不能把下面的代码转换成Python的列表推导式:
values = [a,b,c,d,...]
converted_values = []
for item in values:
if type(item) == datetime.date:
converted_values.append(item)
else:
converted_values.append(item.decode('utf-8'))
2 个回答
5
converted_values = [item if type(item) == datetime.date else item.decode('utf-8')
for item in values]
我猜你是想说 utf-8
。
另外,Python的文档建议使用 isinstance(item, datetime.date)
,而不是 type(item) == datetime.date
。
9
你可以使用条件表达式来实现这个功能。
converted_values = [item if type(item) == datetime.data
else item.decode('utf-8')
for item in values]
Python中的条件语句非常容易理解。下面是一些例子,展示它们是如何工作的:
print("yes" if True else "no") # prints "yes"
print("yes" if False else "no") # prints "no"