Skip to main content
 首页 » 编程设计

Python之如何存储数值行

2025年05月04日19mayingbao

我有一个包含很多行的文件,每行都有超过 20 个数值,例如:

123 1 18 180776 4303656 1605 16468 0 51429 24230 0 0 0 4 8 0 8710 14705 1836 1 4 95 
0 24538 0 187860 4264028 449 4711 0 2537 2537 0 0 5 0 0 0 6138 12880 1590 1 22 76 
... 

我愿意:

  1. 读一行
  2. 将它保存在一些 python 数据类型中(什么是最好的?)
  3. 对上一行中的每个数字进行一些操作,例如:
    • 检查是否不高于某某(并保存结果)
    • 检查是否低于某某(并保存结果)
    • 计算它的长度(位数)(并保存结果)
    • 将它与同一列中的前一个数字进行比较
    • -

所以在一行(带有数字)之后我应该有:

  1. 存储每个数字
  2. 存储每个数字的附加属性

每个数字都与同一列中的前一个数字进行比较,存储结果,但我可以忘记上一行。

哪种数据类型最适合存储上述数据?

请您参考如下方法:

通常你会为此使用一个列表

当您将一行读入变量时,说 row

row.split()  

会给你一个 list 但每个元素都是一个字符串,你需要数字。您可以使用这样的列表推导式获取数字列表(看起来它们都是整数)

[int(x) for x in row.split()] 

您还可以使用列表理解来与 sth 进行比较

这只过滤 < sth

的项目
[int(x) for x in row.split() if int(x)<sth] 

这将返回一个 bool 列表,其中 True 表示相应的项目是 <sth

[int(x)<sth for x in row.split()]