【发布时间】:2016-05-16 11:06:51
【问题描述】:
我使用 python 2.7,我有 2 个列表,一个是这种形状:
t1 = [('go', 'VB'), [('like', 'IN'), [('i', 'PR')]], [('to', 'TO')], [('there', 'RB')]]
另一个是在一个以这种格式存储的文本文件中:
t2 = [go:VB, [like:IN, [i:PR]], [to:TO], [there:RB]]
我想看看 (t1) 是否匹配 (t2)。
我面临的一个问题是文本文件中没有('')的那些,所以它们看起来像变量。
请您帮忙寻找一种匹配这两者的方法。
def match(t1, t2):
#check here if the nested lists match or not.
return True
我尝试将 ( t1 ) 转换为字符串并删除 ' ( ' 和 ' ) ',方法是用空的 '' 替换它们 然后将 ' , ' 替换为 ' : ' 但它给出了很多引号,我认为这不是解决此问题的好主意。
【问题讨论】:
-
真的是
t2 = [go:VB, [like:IN, [i:PR]], [to:TO], [there:RB]]还是`t2 = "[go:VB, [like:IN, [i:PR]], [to:TO], [there:RB]] "'(列表中带有 "")? -
我仍然不清楚你想如何比较。因为理想情况下,我会将列表展平,然后进行比较。另外,你告诉形状,你的意思是第一种类型
t1是Python Shell 解释器中可用的列表吗? -
t2 以相同形状存储在文本文件中的许多相似文件中:{ [go:VB, [like:IN, [i:PR]], [to:TO], [there: RB]] , .... .... .... }
标签: python list python-2.7 match