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不,我需要所有东西。。。我尝试使用
集合