Tôi đang đệ quy thông qua tệp xml, sử dụng etree.Python: tránh vòng lặp lồng nhau trên mảng
import xml.etree.ElementTree as etree
tree = etree.parse('x.xml')
root = tree.getroot()
for child in root[0]:
for child in child.getchildren():
for child in child.getchildren():
for child in child.getchildren():
print(child.attrib)
cách thức thành ngữ trong python để tránh những vòng lặp lồng nhau này là gì.
getchildren() ⇒ list of Element instances [#]
Returns all subelements. The elements are returned in document order.
Returns:
A list of subelements.
tôi thấy một số bài trong SO như, Avoiding nested for loops nhưng không dịch trực tiếp đến việc sử dụng của tôi.
cảm ơn.
'itertools.product' là một cách hay để tránh các vòng lồng nhau. Tại sao điều đó không giúp bạn sử dụng? –
Bạn có đặc biệt muốn các thuộc tính cho các phần tử 4 con sâu? – bogatron
xin lỗi, tôi không có nghĩa là itertools.product không phù hợp với tôi, nhưng không thể dịch ví dụ đó thành các mảng như trong trường hợp của tôi. Tôi không thực hiện nhiều Python, nhưng sẽ cố gắng. – bsr