将生成器输出与for循环中的列表连接起来

时间:2013-08-14 01:32:57

标签: python python-3.3

在下面的代码中,我试图从xml中提取一些数据。我想让test.mygenerator('TEST') + tag返回一个字符串。例如,test.mygenerator('TEST')将返回一个URI,例如“{http://purl.org/dc/elements/1.1/}”,我需要在some_list中迭代每个标记,并将其与test.mygenerator生成的每个URI连接起来('TEST “)。我正在寻找更有效的策略或使我当前的代码工作的方法。代码背后的想法是能够从URI命名空间下的所有标签中提取文本。 URI命名空间可以有多个标记。感谢。

for element in some_xml_tree.iter('{http://www.openarchives.org/OAI/2.0/}record'):    
    for tag in some_list:
        for thing in some_xml_tree.iter(test.mygenerator('TEST') + tag)
            print(thing)

2 个答案:

答案 0 :(得分:0)

这似乎有效:

''.join([i for i in test.mygenerator('TEST')] + [tag])

答案 1 :(得分:0)

我不完全确定,但听起来你想要一个生成器理解:

(s+tag for s in some_generator('TEST')

这会将tag连接到some_generator中的每个字符串。我不确定我理解some_xml_tree.iter的作用,但这是我对你想要的最好的猜测:

for thing in some_xml_tree.iter(s+tag for s in some_generator('TEST')):
    print(thing)