是否有可能轉換到下一個Python列表理解:轉換回路,如果statemnt到列表理解
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'))
是否有可能轉換到下一個Python列表理解:轉換回路,如果statemnt到列表理解
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'))
您可以使用Conditional Expressions來完成此項工作。
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"
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
。
'instanceof'的+1。我認爲沒有想到這一點。 –
難道你不是指'utf-8'嗎? – Blender
如果你必須這樣做類型檢查,你的設計可能已經被破壞了...... – JBernardo