来自同一文本文件的两个单独的整数列表 Python
Two separate lists of ints in from the same text file Python
我在尝试从同一文本文件制作两个单独的整数列表时遇到问题。
感谢任何帮助。
代码:
a = []
b = []
f = open('input.txt', 'r')
for line in f.readlines():
a.append(int(line[0].strip().split()))
b.append(int(line[1].strip().split()))
input.txt 文件:
40 30 50 10
2 5 10 5
我想要的:
a = [40,30,50,10]
b = [2,5,10,5]
mega = []
f = open('input.txt', 'r')
for line in f:
mega.append(list(map(int, line.split())))
这样你会得到一个列表列表,你可以根据需要进一步分离:
mega = [[40,30,50,10], [2,5,10,5]]
您的问题中没有逐行循环。每行转到一个单独的列表。
with open('input.txt') as infile:
a = list(map(int, infile.readline().split()))
b = list(map(int, infile.readline().split()))
你的每个整数列表都在同一行,所以你不需要遍历 f.readlines()
。相反,拆分第一行,然后将字符串映射到整数并为第二个列表重复:
with open('input.txt', 'r') as f:
a = list(map(int, f.readline().strip().split()))
b = list(map(int, f.readline().strip().split()))
print(a)
print(b)
你可以试试这个:
with open( 'input.txt' ) as fin :
text = fin.readlines()
a = list( map( int, text[0].split() ))
b = list( map( int, text[1].split() ))
这是我的方式,几乎没有硬编码。只在字典中创建列表。
rowDict = {"a":[],"b":[]}
f = open('test.txt', 'r')
for count,row in enumerate(f):
rowDict[list(rowDict.keys())[count]].extend(list(map(int,row.strip().split())))
这是我的第二个例子
f = open('test.txt', 'r')
a = list(map(int,f.readline().strip().split()))
b = list(map(int,f.readline().strip().split()))
这是我的版本,保留了 f.readlines 并使用 extend 而不是 append 将映射到 int 列表的整行添加到空列表中:
a = []
b = []
f = open('input.txt', 'r')
line = f.readlines()
a.extend(map(int,(line[0].split())))
b.extend(map(int,(line[1].split())))
print(a)
print(b)
我在尝试从同一文本文件制作两个单独的整数列表时遇到问题。 感谢任何帮助。
代码:
a = []
b = []
f = open('input.txt', 'r')
for line in f.readlines():
a.append(int(line[0].strip().split()))
b.append(int(line[1].strip().split()))
input.txt 文件:
40 30 50 10
2 5 10 5
我想要的:
a = [40,30,50,10]
b = [2,5,10,5]
mega = []
f = open('input.txt', 'r')
for line in f:
mega.append(list(map(int, line.split())))
这样你会得到一个列表列表,你可以根据需要进一步分离:
mega = [[40,30,50,10], [2,5,10,5]]
您的问题中没有逐行循环。每行转到一个单独的列表。
with open('input.txt') as infile:
a = list(map(int, infile.readline().split()))
b = list(map(int, infile.readline().split()))
你的每个整数列表都在同一行,所以你不需要遍历 f.readlines()
。相反,拆分第一行,然后将字符串映射到整数并为第二个列表重复:
with open('input.txt', 'r') as f:
a = list(map(int, f.readline().strip().split()))
b = list(map(int, f.readline().strip().split()))
print(a)
print(b)
你可以试试这个:
with open( 'input.txt' ) as fin :
text = fin.readlines()
a = list( map( int, text[0].split() ))
b = list( map( int, text[1].split() ))
这是我的方式,几乎没有硬编码。只在字典中创建列表。
rowDict = {"a":[],"b":[]}
f = open('test.txt', 'r')
for count,row in enumerate(f):
rowDict[list(rowDict.keys())[count]].extend(list(map(int,row.strip().split())))
这是我的第二个例子
f = open('test.txt', 'r')
a = list(map(int,f.readline().strip().split()))
b = list(map(int,f.readline().strip().split()))
这是我的版本,保留了 f.readlines 并使用 extend 而不是 append 将映射到 int 列表的整行添加到空列表中:
a = []
b = []
f = open('input.txt', 'r')
line = f.readlines()
a.extend(map(int,(line[0].split())))
b.extend(map(int,(line[1].split())))
print(a)
print(b)