python - 如何使用python从文件中读取数字仅列出为整数

标签 python

我有一个这样的 txt 文件:

input 0 1 2 3 4 5 6 7 0
output 127 191 223 239 247 251 253 254 0

我想将整数 0 1 2 3 4 5 6 7 0 读入列表。 这是我的代码:

f=open('data.txt','r')
for line in f:
        if 'input' in line:
                linestr=line.strip('input')
                #linestr=list(map(int,linestr)
                print(linestr)

输出是

0 1 2 3 4 5 6 7 0

但是当我添加 "print(linestr[0]+1)" 时,它显示错误 "TypeError: must be str, not int" 这是否意味着我得到的列表仍然不是整数? 如何在此列表中将数字用作 int? 谢谢大家

最佳答案

它仍然是一个字符串。通过 type(linestr) 进行测试。您不能将整数添加到字符串。

您需要做的是从 liststr 中提取每个值。这可以使用 strip() 轻松完成并遍历此列表以获取每个值,接下来您需要将其传递给 int() 以将每个值转换为整数, 用整数将它附加到你的列表中,然后你就可以按预期使用它了:

new_liststr = []
for i in liststr.split():
    new_liststr.append(int(i))

print(new_linestr[0]+1)

或者作为一个单一的类轮:

new_liststr = [int(i) for i in liststr.split()] 
print(new_linestr[0]+1)

关于python - 如何使用python从文件中读取数字仅列出为整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50901034/

相关文章:

python - Python 3 中的递归

Python - 从GPS经度和纬度获取总距离

python - 在 Cython 中共享扩展类型以进行静态类型化

python - 如何根据列索引列表从pyspark中的csv文件中选择某些列,然后确定它们的不同长度

python - 如何检查节点列表是否已包含在列表列表中的列表中?

python - 推断 Pandas DataFrame

python - 使用 LinearNDInterpolator 进行外推

python - 如何将这个元组的元组转换为其元素的计数?

python - Python 中的 ^= 运算符

Python 记录器消息显示在单独的行上