[英]Check if element is list or another object
我有一个包含名为“companies”的元素的对象。 此元素可以是对象列表,也可以只是单个对象(不包含在列表中)。
我希望遍历所有公司,但如果元素“公司”只是一个项目(不包含在列表中),则此示例将失败:
for company in companies:
我试过在for循环之前测试,例如:
if type(companies['company']) is list:
# do your thing
但那也失败了。
有人可以帮忙吗?
首先,这是构建数据的一种非常可怕的方式,你应该向创造它的人抱怨。 如果一个项可以是一个列表,它应该总是一个列表,即使该列表只包含一个元素。
但是,您显示的代码应该有效 - 尽管更好的方法是if isinstance(companies['company'], list)
。 如果仍然无法正常工作,则需要显示数据以及使用它的确切代码。
您可以从非列表中创建列表,以便无条件地使用“for ... in ...”。
companies = list(companies)
for company in companies:
# use "company" in some way
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.