python中的列表是否有相应的开头?
我想知道列表是否以列表b开头。像
len(a) >= len(b) and a[:len(b)] == b ?
答案 0 :(得分:5)
你可以写a[:len(b)] == b
如果len(b)> len(a),不会引起任何错误。
答案 1 :(得分:0)
对于大型列表,这将更有效:
from itertools import izip
...
result = all(x==y for (x, y) in izip(a, b))
对于小型列表,您的代码很好。长度检查可以省略,如DavidK所述,但它不会产生很大的不同。
PS:不,没有内置来检查列表是否以另一个列表开头,但正如您所知,自己编写这样的函数是微不足道的。
答案 2 :(得分:-1)
它没有比你拥有的更简单(甚至不需要检查长度)...... 有关查找列表中的子列表的更多扩展/优雅选项的概述,您可以查看主要答案 发布:elegant find sub-list in list