1
我想list of list
转换为使用我的日志文件中的脚本robot framework
keywords.Output名单是这样的:如何转换列表清单,列出使用机器人框架关键词
@{ListA} = [ [a, b] | [c, d, e] | f | g]
我想这个变平列表为
[ a , b , c , d , e , f , g]
如何转换?
任何建议将有所帮助。谢谢。
我想list of list
转换为使用我的日志文件中的脚本robot framework
keywords.Output名单是这样的:如何转换列表清单,列出使用机器人框架关键词
@{ListA} = [ [a, b] | [c, d, e] | f | g]
我想这个变平列表为
[ a , b , c , d , e , f , g]
如何转换?
任何建议将有所帮助。谢谢。
列表解析非常强大,可以与Evaluate关键字一起使用。在这里你可以强制每个项目成为一个列表,通过检查它是否已经是 - “(sublist if isinstance(sublist,list)else [sublist])”part。一旦你有了一个列表清单,你可以用列表理解的嵌套能力将其扁平化。
有些人在使用Python进行类型检查时感到不满,但其中一个问题是字符串和列表可能会被误认为是错误的。这里使用直接的类型检查。还有其他的方法来检查一个对象是否是一个列表,你可以根据需要进行修改。
List of lists and Other Items
@{InnerA} Create List a b
@{InnerB} Create List c d e
@{ListA} Create List ${InnerA} ${InnerB} f g
${flat} Evaluate [item for sublist in $ListA for item in (sublist if isinstance(sublist, list) else [sublist])]
Log List ${flat}
_
INFO : @{InnerA} = [ a | b ]
INFO : @{InnerB} = [ c | d | e ]
INFO : @{ListA} = [ [u'a', u'b'] | [u'c', u'd', u'e'] | f | g ]
INFO : ${flat} = [u'a', u'b', u'c', u'd', u'e', u'f', u'g']
INFO :
List length is 7 and it contains following items:
0: a
1: b
2: c
3: d
4: e
5: f
6: g
在你的问题的代码没有创建一个列表。更准确地说,你用一个元素创建一个列表,这个列表看起来像'“[(a,b),...]”'。你有一个真正的列表清单,或者你是否真的想把这个字符串转换成一个列表清单,然后将其平坦化? –
@BryanOakley,我的意思是说我的脚本输出结果如下:\t @ {ListA} = [[a,b] | [c,d,e] | f | g] 我想将此列表展平为[a | b | c | d | e | f | g] – Rakesh
这更不精确的答案。管道是不是有效的Python语法_or_机器人语法。 –