如何检查另一个列表中列表的所有三个元素是否存在
How to check presence of all three elements of list in another list
你好,我是 Python 的新手,需要一些帮助
我有以下字符串列表
my_list = ["-Public-", "-Private-", "-Protected-"]
和另一个列表
sgList = [ 'launch-wizard-16', 'launch-Private-1', 'default', 'EP-Protected-12', 'default', 'launch-Public-13']
我想检查 my_list
列表中的所有三个元素是否都存在于 sgList
中,如果是,则 return 为真,否则为假。如果其中之一不存在,那么它应该 return false。
我有以下代码,但即使找到其中一个,这也会 return 正确。
imported = (any(rails.lower() in sg.lower() for rails in my_list for sg in sgList))
有人可以指导我在这里可以做什么来检查所有三个元素的存在
all(elem in sgList for elem in my_list)
哪里
... for elem in my_list
是一个遍历 my_list
和 中所有元素的生成器
elem in sgList
是一个布尔表达式,检查迭代的元素是否确实在 sgList
中,这样会生成多个 True
和 False
值并且
- 最终
all()
将所有的布尔表达式组合成一个,即如果所有的都是True
它就是True
(或者参见any()
)
您可以组合 all
和 any
:
my_list = ["-Public-", "-Private-", "-Protected-"]
sgList = ['launch-wizard-16', 'launch-Private-1', 'default', 'EP-Protected-12', 'default', 'launch-Public-13']
output = all(any(x in sg for sg in sgList) for x in my_list)
print(output) # True
例如,给定 x == '-Public-'
,any(x in sg for sg in sgList)
测试 '-Public-'
是否是 sgList
中任何项目的子字符串。由于有这样一项 ('launch-Public-13'
),any(x in sg for sg in sgList)
的计算结果为 True
。
现在 all(... for x in my_list)
检查这是否适用于 my_list
中的每个项目 x
。
你好,我是 Python 的新手,需要一些帮助
我有以下字符串列表
my_list = ["-Public-", "-Private-", "-Protected-"]
和另一个列表
sgList = [ 'launch-wizard-16', 'launch-Private-1', 'default', 'EP-Protected-12', 'default', 'launch-Public-13']
我想检查 my_list
列表中的所有三个元素是否都存在于 sgList
中,如果是,则 return 为真,否则为假。如果其中之一不存在,那么它应该 return false。
我有以下代码,但即使找到其中一个,这也会 return 正确。
imported = (any(rails.lower() in sg.lower() for rails in my_list for sg in sgList))
有人可以指导我在这里可以做什么来检查所有三个元素的存在
all(elem in sgList for elem in my_list)
哪里
... for elem in my_list
是一个遍历my_list
和 中所有元素的生成器
elem in sgList
是一个布尔表达式,检查迭代的元素是否确实在sgList
中,这样会生成多个True
和False
值并且- 最终
all()
将所有的布尔表达式组合成一个,即如果所有的都是True
它就是True
(或者参见any()
)
您可以组合 all
和 any
:
my_list = ["-Public-", "-Private-", "-Protected-"]
sgList = ['launch-wizard-16', 'launch-Private-1', 'default', 'EP-Protected-12', 'default', 'launch-Public-13']
output = all(any(x in sg for sg in sgList) for x in my_list)
print(output) # True
例如,给定 x == '-Public-'
,any(x in sg for sg in sgList)
测试 '-Public-'
是否是 sgList
中任何项目的子字符串。由于有这样一项 ('launch-Public-13'
),any(x in sg for sg in sgList)
的计算结果为 True
。
现在 all(... for x in my_list)
检查这是否适用于 my_list
中的每个项目 x
。