Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用Python将文件中的数字转换为整数_Python_String - Fatal编程技术网

用Python将文件中的数字转换为整数

用Python将文件中的数字转换为整数,python,string,Python,String,我有一个文本文件,看起来像这样: 3 4 1 8 7 6 41 final_list=[] with open('file.txt','r') as f: for line in f: for item in line.split(): if len(item)==1: final_list.append(int(item.strip())) else: fi

我有一个文本文件,看起来像这样:

3
4
1 8 7 6 41
final_list=[]
with open('file.txt','r') as f:
    for line in f:
        for item in line.split():
            if len(item)==1:
                final_list.append(int(item.strip()))
            else:
                final_list.extend(list(map(lambda x:int(x),list(item))))
print(final_list)

我要做的是从文件中读取数字,并在Python中将它们作为整数使用。如何将每一行转换为一个列表,并将每个数字作为一个单独的项目?例如,多个数字(如41)被分成4和1。

给你。更新文件名并运行脚本

number_list = dict()
counter = 0
with open("test_file.txt", encoding="utf-8") as file:  
  for l in file:
    counter = counter + 1
    number_list[counter] = [ int(str_num) for str_num in l.split()]
print(number_list)

我建议您阅读有关使用文件的Python教程。我还建议您学习如何使用int函数

number_file = open("numbers.txt")

for line in number_file:
    line_list = []
    for part in line.split():
        try:
            line_list.append(int(part))
        except:
            pass
    print(line_list)

number_file.close()

您可以这样做:

3
4
1 8 7 6 41
final_list=[]
with open('file.txt','r') as f:
    for line in f:
        for item in line.split():
            if len(item)==1:
                final_list.append(int(item.strip()))
            else:
                final_list.extend(list(map(lambda x:int(x),list(item))))
print(final_list)
输出:

[3, 4, 1, 8, 7, 6, 4, 1]

是不是每一个数字都在一个新的行中呢?这不是仍然把41分为4和1行吗?这不是你想要的吗?如果您需要帮助,我可以编辑它。谢谢您的帮助。我需要用空格分隔行。我刚刚在线找到它。谢谢您的帮助。如果这有帮助,请接受此答案或其他答案,以帮助其他用户解决相同的问题: