【发布时间】:2021-07-04 05:06:29
【问题描述】:
我正在学习编码,但我被困住了。我试图定义一个函数,它从文件中读取数据并将其转换为单个列表,列表中的每个项目都是具有整数、浮点数和字符的元组。
def reader(a_file):
file = open(a_file, "r")
listy = file.readlines()
# print(listy)
# print(type(listy))
for lines in listy:
# print(lines)
a_list = list(lines.split())
# print(a_list)
short_list = []
return_list = []
for each in range(0, len(a_list)):
# print(a_list[each])
if a_list[each].isdigit() :
each_int = int(a_list[each])
# print(each_int)
short_list.append(each_int)
elif "." in a_list[each]:
each_float = float(a_list[each])
short_list.append(each_float)
else:
short_list.append(a_list[each])
tuply = tuple(short_list)
print(tuply)
# return_list.append(tuply)
# print(return_list)
# print(return_list)
如果我调用函数使用
print(reader("sample.cs1301"))
我能够获取单个元组 我无法将单个元组组合到列表中。 下面是输入文件sample.cs1301的内容
1 assignment_1 85 100 0.25
2 test_1 90 100 0.25
3 exam_1 95 100 0.5
我可以得到如下的单个元组
(1, 'assignment_1', 85, 100, 0.25)
(2, 'test_1', 90, 100, 0.25)
(3, 'exam_1', 95, 100, 0.5)
我在循环中感到困惑。我尝试到处搜索,但不知何故它不适合我。
【问题讨论】:
标签: python list tuples file-handling