繁体   English   中英

检查元素是否为列表或其他对象

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM