【发布时间】:2016-01-20 07:37:48
【问题描述】:
当文件以如下格式显示时,从文件中读取一行数字的最佳方法是:
[1, 2, 3 , -4, 5]
[10, 11, -12, 13, 14 ]
令人讨厌的是,正如我所描述的,有时数字之间有多余的空格,有时没有。我尝试使用CSV 来解决逗号问题,但事实证明括号和随机空格也很难删除。理想情况下,我会将括号之间的每个数字作为int 附加到list,但当然括号会导致int() 失败。
我已经研究过 Removing unwanted characters from a string in Python 和 Python Read File, Look up a String and Remove Characters 建议的类似解决方案,但不幸的是,当我尝试将所有内容结合起来时,我总是失败。
【问题讨论】:
-
为了解决这个问题,我最终结合了@Muhammad 的方法2 和@Zac 的答案;
[int(s) for s in str.split() if s.isdigit()]清理字符串本身,然后eval()将其转换为整数列表以供我的程序的其余部分使用。
标签: python string file-io int removing-whitespace