代码之家  ›  专栏  ›  技术社区  ›  Falmarri

将不确定数量的数据解析为python元组

  •  2
  • Falmarri  · 技术社区  · 14 年前

    5 回复  |  直到 14 年前
        1
  •  1
  •   Community leo1    7 年前

    由于您的数据正在更改,我不确定您是否需要元组。一份清单就行了。

    请看以下内容,这些内容将为您提供更多信息。分配元组比分配列表快得多。但是,如果您试图时不时地修改元素,那么创建元组可能就没有什么意义了。

        2
  •  2
  •   adamk    14 年前

    正如您所说,您将逐步读取数据-因此元组毕竟不是一个好主意,因为它是不可变的。

    有没有理由不使用简单的列表来保存字符串?

        3
  •  1
  •   Arlaharen    14 年前

    我不必担心首先创建一个列表,然后从该列表创建一个元组的开销。我猜,如果你测量一下,开销就可以忽略不计了。

        4
  •  0
  •   John La Rooy    14 年前
    with open("config") as infile:
        config = tuple(infile)
    
        5
  •  0
  •   freegnu    13 年前

    您可能需要尝试使用链式生成器来创建元组。可以使用生成器对输入执行多个过滤和转换操作,而无需创建中间列表。所有的生成器处理都延迟到迭代。在下面的例子中,处理/迭代都发生在最后一行。

    像这样:

    f = open('settings.cfg')
    step1 = (tuple(i.strip() for i in l.split(':', 1)) for l in f if len(l) > 2 and ':' in l)
    step2 = ((l[0], ',' in l[1] and 'Tag' in l[0] and l[1].split(',') or l[1]) for l in step1)
    t = tuple(step2)