python-列表中从文件到元组的字符串
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python-列表中从文件到元组的字符串,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1108字,纯文字阅读大概需要2分钟。
内容图文
我有一个看起来像这样的文本文件:
3 & 221/73 \\\
4 & 963/73 \\\
5 & 732/65 \\\
6 & 1106/59 \\\
7 & 647/29 \\\
8 & 1747/49 \\\
9 & 1923/49 \\\
10 & 1601/41 \\\
6 & 512 \\
我想将数字对加载到列表或字典中.
这是我到目前为止的代码:
L = []
data1 = data.replace (" \\\\", " ")
data2 = data1.replace(" & "," ")
i=0
a=''
b=''
while data2[i] != None:
if(a==''):
while( data2[i] != '' ):
a=a+data2[i]
i = i + 1
while(data2[i] !=''):
b=b+data2[i]
i = i + 1
L.append((int(a),int(b)))
a=''
b=''
i=i+1
但这是我得到的错误:
"while( data2[i] != '' ): string out of range"
解决方法:
这是一个不太像C的解决方案,看起来更像python.在不确定输出到底应该是什么样子的情况下,首先想到的就是这种解决方案:
result = []
with open("test.txt") as f:
lines = f.readlines()
for l in lines:
l = l.replace('\\', '')
elements = l.split("&")
elements = [x.strip() for x in elements]
result.append((int(elements[0]), elements[1]))
print result
这是输出:
[(3, '221/73'), (4, '963/73'), (5, '732/65'), (6, '1106/59'), (7, '647/29'), (8, '1747/49'), (9, '1923/49'), (10, '1601/41'), (6, '512')]
请注意,这缺少错误处理,因此,如果文件不符合您的格式,则可能会引发异常.
内容总结
以上是互联网集市为您收集整理的python-列表中从文件到元组的字符串全部内容,希望文章能够帮你解决python-列表中从文件到元组的字符串所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。