如何解决Python:写入函数时循环不再起作用
我正在从Matlab过渡到Python,并且具有以下循环,该循环将站点的名称转换为字典条目,并将其与其坐标相关联:
!curl -O grapenthin.org/teaching/geop501/download/BARD_coords2.txt
with open(filename) as f:
plop = f.read().split()
le = len(plop)
station_dict = {}
for i in range(2,len(plop),3):
if len(plop[i]) == 4:
station_dict[str(plop[i])] = plop[i-2:i]
else:
continue
print(station_dict['DIAB'])
有人要求我将其转换为函数,但station_dict似乎在以下函数中无法正确计算
def file_to_dict(filename):
with open(filename) as f:
plop = f.read().split()
le = len(plop)
station_dict = {}
for i in range(2,3):
if len(plop[i]) == 4:
station_dict[str(plop[i])] = plop[i-2:i]
else:
continue
filename = 'BARD_coords2.txt'
station_dict = file_to_dict(filename)
print(station_dict['DIAB'])
我获得:TypeError:“ NoneType”对象不可下标 而且我不知道为什么它不起作用。关于我在做什么错的任何线索吗?
非常感谢!
解决方法
好吧,我是新人,我不知道如何删除我的问题,与此同时,我也找到了解决问题的方法。
它只是缺少“ return”命令来定义输出。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。