[英]Convert loop and if statemnt to a list comprehension
Is it possible to convert the following to a python list comprehension: 是否可以将以下内容转换为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'))
You can use Conditional Expressions to make this work. 您可以使用条件表达式来完成此工作。
converted_values = [item if type(item) == datetime.data
else item.decode('utf-8')
for item in values]
Python conditionals are fairly readable. Python条件是相当可读的。 Here's some examples to show how they work:
以下是一些示例,说明它们的工作原理:
print("yes" if True else "no") # prints "yes"
print("yes" if False else "no") # prints "no"
converted_values = [item if type(item) == datetime.date else item.decode('utf-8')
for item in values]
I assume you meant utf-8
. 我猜你的意思是
utf-8
。
Also, the Python docs recommend using isinstance(item, datetime.date)
rather than type(item) == datetime.date
. 此外,Python文档建议使用
isinstance(item, datetime.date)
而不是type(item) == datetime.date
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.