Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.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_Python 2.7 - Fatal编程技术网

用Python将一行数字读入列表

用Python将一行数字读入列表,python,python-2.7,Python,Python 2.7,我试图将文件中的两行读入两个列表,这样每一行都在一个列表中 data.txt: 1,5,7,18,9,8,12 2,41,12,11,1,10 我尝试过的代码: list1 = [] list2 = [] infile = open("data.txt","r") line = infile.readline() for line in infile: line = line.split(',') list1.append(float(line)) line = infi

我试图将文件中的两行读入两个列表,这样每一行都在一个列表中

data.txt

1,5,7,18,9,8,12
2,41,12,11,1,10

我尝试过的代码:

list1 = []
list2 = []
infile = open("data.txt","r")
line = infile.readline()
for line in infile:
    line = line.split(',')
    list1.append(float(line))
    line = infile.readline()
    list2.append(float(line))
    print(list1)
    print(list2)
print()
list1 = [1, 5, 7, 18, 9, 8, 12]
list2 = [2, 41, 12, 11, 1, 10]
我想要的:

list1 = []
list2 = []
infile = open("data.txt","r")
line = infile.readline()
for line in infile:
    line = line.split(',')
    list1.append(float(line))
    line = infile.readline()
    list2.append(float(line))
    print(list1)
    print(list2)
print()
list1 = [1, 5, 7, 18, 9, 8, 12]
list2 = [2, 41, 12, 11, 1, 10]

如何修复我的代码?

您的代码中有许多错误,因此我将发布一个更好的方法:

with open('data.txt', 'r') as file:
    list1 = [int(number) for number in file.readline().split(',')]
    list2 = [int(number) for number in file.readline().split(',')]

print(list1)
print(list2)
输出:

[1, 5, 7, 18, 9, 8, 12]
[2, 41, 12, 11, 1, 10]
[1, 5, 7, 18, 9, 8, 12]
[2, 41, 12, 11, 1, 10]

您也可以在一行中完成:

list1, list2 = [[int(n) for n in line.split(',')] for line in open('data.txt').readlines()]

您的代码中有很多错误,因此我将发布一个更好的方法:

with open('data.txt', 'r') as file:
    list1 = [int(number) for number in file.readline().split(',')]
    list2 = [int(number) for number in file.readline().split(',')]

print(list1)
print(list2)
输出:

[1, 5, 7, 18, 9, 8, 12]
[2, 41, 12, 11, 1, 10]
[1, 5, 7, 18, 9, 8, 12]
[2, 41, 12, 11, 1, 10]

您也可以在一行中完成:

list1, list2 = [[int(n) for n in line.split(',')] for line in open('data.txt').readlines()]
输出:

list1 = []
list2 = []
infile = open("data.txt","r")
line = infile.readline()
for line in infile:
    line = line.split(',')
    list1.append(float(line))
    line = infile.readline()
    list2.append(float(line))
    print(list1)
    print(list2)
print()
list1 = [1, 5, 7, 18, 9, 8, 12]
list2 = [2, 41, 12, 11, 1, 10]
输出:

list1 = []
list2 = []
infile = open("data.txt","r")
line = infile.readline()
for line in infile:
    line = line.split(',')
    list1.append(float(line))
    line = infile.readline()
    list2.append(float(line))
    print(list1)
    print(list2)
print()
list1 = [1, 5, 7, 18, 9, 8, 12]
list2 = [2, 41, 12, 11, 1, 10]

你有什么错误吗?什么是你的Quy?你几乎在那里,但考虑有列表[0 ]和列表[1 ]而不是List1和List2。因此,一个2D列表,其中第一个dim给出行,第二个索引行。你能发布你的data.txt吗?你有任何错误吗?什么是你的Quy?你几乎在那里,但考虑有列表[0 ]和列表[1 ]而不是List1和List2。因此,一个2D列表,其中第一个dim给出行,第二个索引行。你能发布你的data.txt吗?