以来自IANA的以下格式为例:http://www.iana.org/assignments/language-subtag-registry
%%
Type: language
Subtag: aa
Description: Afar
Added: 2005-10-16
%%
Type: language
Subtag: ab
Description: Abkhazian
Added: 2005-10-16
Suppress-Script: Cyrl
%%
Type: language
Subtag: ae
Description: Avestan
Added: 2005-10-16
%%
假设我打开文件:
^{pr2}$通常你会这样做
lan=all.split("%%")
iterate lan和split("\n")
然后迭代结果并拆分(“:”),有没有一种方法可以在python中一批完成而不需要迭代,并且输出仍然是这样的:
[[["Type","language"],["Subtag", "ae"],...]...]
?在
Regexes,但我不明白这一点:
这里使用or
|
运算符链接了多个模式。在如果每次拆分后得到的元素在语义上是不同的,那么在一次传递中就没有任何意义了。在
你可以从“:”开始,这样可以得到细粒度的数据,但是如果你不知道这些数据属于哪一类,那又有什么用呢?在
也就是说,你可以把所有的分离程度都放在一个发生器里,让它产生 包含数据的字典对象,准备好使用:
你可以按照你在评论中的要求做一句话-但正如我所说, 它可以写成一行中的单个表达式。它比上面的例子花费了更多的时间来编写,而且几乎不可能维护。上面例子中的代码在几行代码中展开了逻辑,这些代码被放在“不方便”的地方,也就是说,在你处理实际数据的地方不是内联的,为这两个任务提供了可读性和可维护性。在
也就是说,作为嵌套列表结构的解析可以这样完成:
^{pr2}$作为单一理解:
^{pr2}$相关问题 更多 >
编程相关推荐