gpt4 book ai didi

python只读文件中的整数

转载 作者:太空宇宙 更新时间:2023-11-04 06:46:43 24 4
gpt4 key购买 nike

我想不出从这个文件中读取的方法,只有整数:

34
-1
2 48
+0
++2
+1
2.4
1000
-0
three
-1

函数应该返回:

[34, -1, 0, 1, -1]

如果一个数字有+-是有效的。但是如果它有 ++ 或任何字母都没有。

如果它有一个空格(例如 2 48 )是无效的。

如果大于 999,则无效。

我只卡在这里:

my_list = []
with open('test.txt') as f:
lines = f.readlines()
for line in lines:
my_list.append(line.strip())

我试图将它变成一个字符串并使用 translate 来使用标点符号,但我不确定它是否会变得更复杂。

此外,我不确定是否使用正则表达式。我尝试了一个简单的正则表达式,但我没有使用它的经验。

最佳答案

您可以使用 int() 将字符串转换为整数。如果字符串不是整数,它将抛出 ValueError。所以试试这个:

my_list = []
with open('test.txt') as f:
for line in f:
try:
n = int(line)
if n > 999 or line.strip() == '-0':
#filtering numbers >999 and strings with '-0'
continue
my_list.append(n)
except ValueError:
pass

print(my_list)

输出:[34, -1, 0, 1, -1]

关于python只读文件中的整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40831361/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com