在Python中,我目前正在开发一个项目。我将文件中的行存储为列表。在这些行中,我想用空格分隔字符串,并将对象中的单个单词存储在对象中。
每行包含三个间隔开的“单词”。我想将每个单词存储为类对象中的元素。由于我不知道用户在输入文件中可能有多少行,因此这些对象将以不确定的数量创建。
当我浏览行列表并“拆分”它们时,我会在列表中找到一个列表。我不知道如何处理该表单中的数据(不使用for循环中的for循环),我被困在这里。
我已经使用三个字段和方法创建了对象类来访问这些字段。但是,我不知道如何访问“列表中的列表”(在线性时间内)并分隔单词并轻松快速地创建一个以单词作为参数的新对象。
如果有人能就此向我提出建议,我将不胜感激。谢谢。
答案 0 :(得分:1)
class MyClass(object):
def __init__(self, word1, word2, word3):
# your initialisation code here
for line in list_of_lines:
words = line.split()
assert len(words) == 3
an_object = MyClass(*words)
do_something_with(an_object)
更新以回应评论:
获取MyClass对象列表,输入文件中每行一个:
with open("my_input_file.txt") as f:
the_list = [MyClass(*line.split()) for line in f]
答案 1 :(得分:0)
为什么在使用前拆分它们?为什么不在需要时拆分线?
一些伪代码
for each line in list
items = line split
object(items)