Python|在矩阵中搜索元素
Python支持列表作为其列表元素,因此可以形成矩阵。有时我们可能有一个实用程序,我们需要在该列表中执行搜索,即矩阵,它在所有编码领域中非常常见。让我们讨论可以执行此操作的某些方式。
方法 #1:使用any()
+ 列表推导
any函数可用于执行 if 条件的任务,并且可以使用列表推导计算对嵌套列表中每个元素的检查。
# Python3 code to demonstrate
# Search in Matrix
# using any() + list comprehension
# initializing list
test_list = [[4, 5, 6],
[10, 2, 13],
[1, 11, 18]]
# printing original list
print("The original list : " + str(test_list))
# using any() + list comprehension
# to Search in Matrix
res = any(13 in sub for sub in test_list)
# printing result
print("Is 13 present in Matrix ? : " + str(res))
输出 :
The original list : [[4, 5, 6], [10, 2, 13], [1, 11, 18]]
Is 13 present in Matrix ? : True
方法#2:使用set.issubset() + itertools.chain()
issubset 方法可用于检查子列表中的成员资格,而链函数可用于对矩阵中的每个元素执行此任务,因为它在迭代器上工作时速度更快。
# Python3 code to demonstrate
# Search in Matrix
# using set.issubset() + itertools.chain()
from itertools import chain
# initializing list
test_list = [[4, 5, 6],
[10, 2, 13],
[1, 11, 18]]
# printing original list
print("The original list : " + str(test_list))
# using set.issubset() + itertools.chain()
# to Search in Matrix
res = {13}.issubset(chain.from_iterable(test_list))
# printing result
print("Is 13 present in Matrix ? : " + str(res))
输出 :
The original list : [[4, 5, 6], [10, 2, 13], [1, 11, 18]]
Is 13 present in Matrix ? : True