如何以线性时间访问列表中的列表并创建不确定的对象数

时间:2011-05-09 02:46:21

标签: python oop

在Python中,我目前正在开发一个项目。我将文件中的行存储为列表。在这些行中,我想用空格分隔字符串,并将对象中的单个单词存储在对象中。

每行包含三个间隔开的“单词”。我想将每个单词存储为类对象中的元素。由于我不知道用户在输入文件中可能有多少行,因此这些对象将以不确定的数量创建。

当我浏览行列表并“拆分”它们时,我会在列表中找到一个列表。我不知道如何处理该表单中的数据(不使用for循环中的for循环),我被困在这里。

我已经使用三个字段和方法创建了对象类来访问这些字段。但是,我不知道如何访问“列表中的列表”(在线性时间内)并分隔单词并轻松快速地创建一个以单词作为参数的新对象。

如果有人能就此向我提出建议,我将不胜感激。谢谢。

2 个答案:

答案 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)