我有这部分代码:
def readTXT():
part_result = []
'''Reading all data from text file'''
with open('dataset/sometext.txt', 'r') as txt:
for lines in txt:
part = lines.split()
part_result = [int(i) for i in part]
#sorted([(p[0], p[14]) for p in part_result], key=lambda x: x[1])
print(part_result)
return part_result
我正在尝试获取所有列表作为返回值,但现在我只会获取第一个列表,这很明显,因为我的return
在 for 循环内。但是,循环不应该遍历每一行并返回相应的列表吗?
经过研究,我发现只有 return list1, list2
等。但是如果我的列表是从文本文件逐行生成的,我应该管理它吗?
这让我很沮丧,无法一次返回多个列表。
最佳答案
这是我的建议。在每次循环迭代中创建一个“major_array”并在该数组中添加“part_result”。这样,如果您的循环迭代 10 次,您将在“major_array”中添加 10 个数组。最后,当 for 循环结束时返回数组。 :)
def readTXT():
#create a new array
major_array = []
part_result = []
'''Reading all data from text file'''
with open('dataset/sometext.txt', 'r') as txt:
for lines in txt:
part = lines.split()
part_result = [int(i) for i in part]
#sorted([(p[0], p[14]) for p in part_result], key=lambda x: x[1])
print(part_result)
major_array.append(part_result)
return major_array
关于python - 在 Python 中返回多个列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47779673/