检查元素是list还是其他obj

2024-04-29 03:37:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个对象,它包含一个名为“companies”的元素。 此元素可以是对象列表,也可以只是单个对象(不包含在列表中)。

我想浏览所有公司,但如果元素“companies”只是一个项目(不包含在列表中),则此示例失败:

for company in companies:

我尝试在for循环之前进行测试,例如:

if type(companies['company']) is list:
    # do your thing

但这也失败了。

有人能帮忙吗?


Tags: 项目对象in元素示例列表forif
2条回答

你可以从一个无条件使用“for。。。在。

companies = list(companies)
for company in companies:
    # use "company" in some way

首先,这是一种非常糟糕的数据结构,你应该向创建它的人投诉。如果一个项可以是一个列表,那么它应该始终是一个列表,即使该列表只包含一个元素。

但是,您所显示的代码应该可以工作——尽管更好的方法是if isinstance(companies['company'], list)。如果仍然不起作用,则需要显示数据和使用数据的确切代码。

相关问题 更多 >