2014-02-14 45 views
0

我需要获取节点的第一个也是唯一的子元素,并保证孩子在那里。我可以写这样的东西Python ElementTree找到第一个元素

def get_first(Node): 
    for x in Node: 
    return x 

但我希望有更优雅的东西。有人知道什么吗?

+0

你的代码是很多优雅。 (尽管'Node'违反了预期的命名约定。) –

回答

1

嗯,我个人没有看到你的代码有什么问题。它很干净,适用于任何可迭代的对象。

不过,如果你必须摈弃for循环,那么你可以使用next

def get_first(Node): # Also, Node should be lowercase according to PEP 8 
    return next(Node) 

然而,这只会为迭代工作。如果Node不是一个迭代器,那么你可以把它与一个iter

def get_first(Node): 
    return next(iter(Node)) 
1

有你在指数试过吗?

def get_first(node): 
    return node[0]