Skip to main content
 首页 » 编程设计

python之在 python 中只保留 int

2025年05月04日17del

所以我遇到了这样一种情况:我打开了一个 .Dat 文件并试图从中提取数字:

self.text= (open("circles.dat", "r")).readlines() 
print (self.text) 

输出:

['200 200 100\n', '75\t200\t15\n', '   325\t200\t15\n', '\n', '\t200\t\t75 10\n', '200 325 10\n'] 

有没有一种方法我可以只提取 int 数字而不包含任何其他内容。 编辑: 不能使用 eval() 我希望输出是这样的:

[200,200,100,75,200,15,325,200,15,200,75,10,200,325,10] 

请您参考如下方法:

假设您拥有所有 int 并且它们之间只有空格(例如空格或制表符),那么您可以使用 str.split() 的简单列表理解:

>>> with open("circles.dat", "r") as f: 
...     d = [int(a) for l in f for a in l.split()] 
>>> d 
[200, 200, 100, 75, 200, 15, 325, 200, 15, 200, 75, 10, 200, 325, 10]