Python中的列表表达式

Python中的列表表达式,python,list,dictionary,set,Python,List,Dictionary,Set,我正在分析一个xml文件。。。因此,有一个字段称为case:有时是单个orderedict,有时是一个orderedict列表。就是这样: OrderedDict([(u'duration', u'2.111'), (u'className', u'foo'), (u'testName', u'runTest'), (u'skipped', u'false'), (u'failedSince', u'0')]) [OrderedDict([(u'duration', u'0.062'), (

我正在分析一个
xml
文件。。。因此,有一个字段称为
case
:有时是单个
orderedict
,有时是一个
orderedict
列表。就是这样:

OrderedDict([(u'duration', u'2.111'), (u'className', u'foo'), (u'testName', u'runTest'), (u'skipped', u'false'), (u'failedSince', u'0')])


[OrderedDict([(u'duration', u'0.062'), (u'className', u'foo'), (u'testName', u'runTest'), (u'skipped', u'false'), (u'failedSince', u'0')]), OrderedDict([(u'duration', u'0.461'), (u'className', u'bar'), (u'testName', u'runTest'), (u'skipped', u'false'), (u'failedSince', u'0')])]
我希望始终将该表达式作为单个列表。原因是有一个
for
循环来处理这个问题。我想做一些事情,比如:

[case]

但后来我会有
[[case]]
。我不认为列表联接或串联对我有帮助。一个简单的解决方案是检查
case
是否属于
list
OrderedDict
类型,但是我正在寻找一个更简单、一行的pythonic解决方案,就像我上面描述的那样。我怎样才能做到这一点

由于
list
orderedict
都是容器,如果您确定xml解析始终使用
list
类型,那么检查类型听起来可能是最简单的解决方案

没有理由不能在一行中完成此操作:

case = [case] if not isinstance(case, list) else case

如果我是你,我会简单地检查类型。@A不,我需要所有东西。。。我尝试使用
集合