Python 将多个字符串转换为整数

Python 将多个字符串转换为整数,python,string,for-loop,integer,Python,String,For Loop,Integer,我试图将两个由空格分隔的字符串(即数字)转换为整数,但一直失败。我尝试了许多不同的解决方案,但似乎没有任何效果 f= open('new.txt', 'r') list_author = [] for line in f: header1 = f.readline() header2 = f.readline() header3 = f.readline() line = line.strip().replace('\t', ' ') line=lis

我试图将两个由空格分隔的字符串(即数字)转换为整数,但一直失败。我尝试了许多不同的解决方案,但似乎没有任何效果

f= open('new.txt', 'r')
list_author = []


for line in f:
    header1 = f.readline()
    header2 = f.readline()
    header3 = f.readline()
    line = line.strip().replace('\t', ' ')
    line=list(map(str,line.split()))
    list_author.append([line])

print(list_author[1:10])
输出(格式化为可读性):


第一行似乎是标题,因此您需要跳过它。然后,您可以在每一行上使用
numbers=line.split(“\t”)
,以获得两个数字。然后你可以像这样将它们添加到作者列表中:
list\u author.append((int(number[0]),int(number[1]))
你可以使用
int(“123”)
str
转换为
int
,但我会小心,如果你试图解析
int
以外的任何东西,你的代码都会爆炸,
str
float
并且它必须是有效的数字,因此您需要捕获
TypeError
ValueError
。我会将其包装在一个函数中,您可以为每次迭代调用该函数:

def coerce(value: str) -> int or None:
    try:
        return int(value)
    except (TypeError, ValueError):
        # this is not convertible
        return None

请使用1)输入文件中的样本和2)预期输出更新问题。
def coerce(value: str) -> int or None:
    try:
        return int(value)
    except (TypeError, ValueError):
        # this is not convertible
        return None