给定template_list
template_list = [['item 1'], ['item 2','item 3']]
和一个test_list
,我们如何识别test_list
是否以template_list
中的子列表项开始?
例如:
template_list = [['item 1'], ['item 2','item 3']]
test_list = ['item 1']
print(any([x[:len(test_list)] == test_list for x in template_list]))
返回True
,如预期
test_list = ['item 2', 'item 3']
print(any([x[:len(test_list)] == test_list for x in template_list]))
返回True
,如预期
但我希望下面两个案例也返回True
:
test_list = ['item 1', 'irrelevant item 1', 'irrelevant item 2', 'irrelevant item 3']
print(any([x[:len(test_list)] == test_list for x in template_list])) # returns False
test_list = ['item 2', 'item 3', 'irrelevant item 1', 'irrelevant item 2']
print(any([x[:len(test_list)] == test_list for x in template_list])) # returns False
因此,我期望的是当test_list
以与template_list
中的一个子列表完全相同的项开始时,即使test_list
中有更多的项,也会返回True
。
我怎样才能做到呢?提前感谢您的帮助!
1条答案
按热度按时间atmip9wb1#
将您的逻辑更改为以下内容(检查
template_list
的任何条目是否是test_list
的起始部分):