python - 循环不返回数据
问题描述
我的代码只循环一次然后只返回一个数据。下面是我的代码
def test():
for element_regFile in root.findall('country'):
csvdataElement=[]
filename=element_regFile.find('name')
if filename != None:
filename=filename.text
else:
filename='None'
csvdataElement.append(filename)
return csvdataElement
然后,我想一一打印函数的输出,如下所示:
print test()
>>>> [London]
>>>> [Paris]
打印语句将在函数之外
下面是我的xml:
?xml version="1.0"?>
<data>
<country >
<name>London</name>
<rank>1</rank>
<abc>123</abc>
<year>2008</year>
<gdppc>141100</gdppc>
</country>
<country >
<name>Paris</name>
<rank>1</rank>
<year>2010</year>
<gdppc>68000</gdppc>
</country>
</data>
它应该返回伦敦和巴黎。但不幸的是,它只返回伦敦。
解决方案
这是缩进问题。print
语句应该有相同的缩进,如for
:
for element_regFile in root.findall('country'):
csvdataElement=[]
filename=element_regFile.find('name')
if filename != None:
filename=filename.text
else:
filename='None'
csvdataElement.append(filename)
print(csvdataElement)
推荐阅读
- python - 使用 matplotlib 覆盖多个颜色图
- excel - 我的函数只适用于整数
- javascript - 如何从 github repo 更新 heroku 应用程序(Node js)?
- c# - 合并 C# 列表中的重复条目
- r - 如何打印 pubr::compare_means 的结果?
- java - 使用 plink -shareexists 向先前与 Java 建立的连接发送命令
- java - Spring bean 创建生命周期:为什么有多个交互点?
- android - Apache Cordova Gradle 内存异常
- python - Flask return pd dataframe groupby - 如何删除用于分组的列?
- django - 如何在序列化器中使用序列化器?