我有一个包含名为“companies”的元素的对象。 该元素可以是对象列表,也可以只是一个对象(不包含在列表中)。
我想浏览所有公司,但如果元素“公司”只是一个项目(未包含在列表中),则此示例将失败:
for company in companies:
我试过在for循环之前测试,例如:
if type(companies['company']) is list:
# do your thing
但也失败了。
有人可以帮忙吗?
答案 0 :(得分:9)
首先,这是构建数据的一种非常可怕的方式,你应该向创造它的人抱怨。如果一个项目可以是一个列表,它应该始终是一个列表,即使该列表只包含一个元素。
但是,您展示的代码应该有效 - 尽管更好的方法是if isinstance(companies['company'], list)
。如果仍然无效,您需要显示数据以及使用它的确切代码。
答案 1 :(得分:0)
您可以从非列表中创建一个列表,以便无条件地使用“for ... in ...”。
companies = list(companies)
for company in companies:
# use "company" in some way