Python 列表理解:如果列表只包含一个元素则取消列出
Python list comprehension: Unlist if list contains only one element
我有以下功能:
output_names = [output.name for output in session.get_outputs()]
session.get_outputs()
可以 return 多个对象,我想从中获取名称 属性。如果列表的长度是1,我想output_names
是一个值,而不是一个只有一个值的列表。
output_names = [output.name for output in session.get_outputs()]
if len(output_names) == 1:
output_names = output_names[0]
我可以这样做,但这感觉像是代码的味道。有没有更优雅的方法来解决这个问题?
如何调整您构造 output_names
的方式,例如:
outputs = session.get_outputs()
output_names = [output.name for output in outputs] if len(outputs)>1 else outputs.name
也就是说,混合数据类型是不可取的,imo。
我有以下功能:
output_names = [output.name for output in session.get_outputs()]
session.get_outputs()
可以 return 多个对象,我想从中获取名称 属性。如果列表的长度是1,我想output_names
是一个值,而不是一个只有一个值的列表。
output_names = [output.name for output in session.get_outputs()]
if len(output_names) == 1:
output_names = output_names[0]
我可以这样做,但这感觉像是代码的味道。有没有更优雅的方法来解决这个问题?
如何调整您构造 output_names
的方式,例如:
outputs = session.get_outputs()
output_names = [output.name for output in outputs] if len(outputs)>1 else outputs.name
也就是说,混合数据类型是不可取的,imo。