2014-02-14 90 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]