我有一个包含 bool 值的列表:
my_list = [False, False, False, True, True, True]
我想评估对于具有 (start, end) 索引的给定元组,列表是否包含 True
值,例如
contains_true(my_list, (0,0)) => False
contains_true(my_list, (0,2)) => False
contains_true(my_list, (0,3)) => True
contains_true(my_list, (3,5)) => True
contains_true(my_list, (5,5)) => True
目前我正在这样做:
def contains_true(my_list, indexes_tuple):
start = indexes_tuple[0]
end = indexes_tuple[1] + 1
indexes = range(start, end)
for i in indexes:
if my_list[i]:
return True
return False
在 Python 中有更好的方法吗?
最佳答案
>>> my_list = [False, False, False, True, True, True]
>>> def contains_true(seq, bounds):
start, end = bounds
return any(seq[start:end+1])
>>> contains_true(my_list, (0,0))
False
>>> contains_true(my_list, (0,2))
False
>>> contains_true(my_list, (0,3))
True
>>> contains_true(my_list, (3,5))
True
>>> contains_true(my_list, (5,5))
True
关于Python - 评估列表子集的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11382224/