我的问题与上述相同:
如果您有以下2个列表,如何检查第一个列表中的所有项目是否都在第二个列表中。 例如
list_one=[1,2,3]
list_two=[1,2,3,4]
我当前的尝试只是"如果list_two中的所有list_one:"
但这种情况似乎永远不会被填补,所以没有进一步发生。任何帮助将不胜感激,谢谢:)
答案 0 :(得分:2)
all()
函数用于检查是否满足所有条件。我们从list_1获取元素并检查list_2中是否有该元素,如果一切都可用则打印“是”
list_one=[1,2,3]
list_two=[1,2,3,4]
if all(a in list_two for a in list_one):
print "yes"
答案 1 :(得分:2)
您可以将all
与生成器表达式一起使用,这将允许在找到第二个列表中未出现的第一个元素时发生短路。
>>> list_one=[1,2,3]
>>> list_two=[1,2,3,4]
>>> all(i in list_two for i in list_one)
True
答案 2 :(得分:0)
>>> l1 = [1,2,3,4,5]
>>> l2 = [3,2,1,5,4]
>>> for i in l1:
... if i not in l2:
... print('doh')
答案 3 :(得分:0)
您可以在public static Task<IBulkResponse> IndexManyAsync<T>(this IElasticClient client,
IEnumerable<T> objects,
string index = null,
string type = null) where T : class
{
// <snip>
}
。
list_one
答案 4 :(得分:0)
我只是创建集合的差异,检查是长度。
assert len(set([1,2,3]) - set([1,2,3,4])) == 0
请注意,在布尔上下文中,空集(与任何其他容器一样)都是假的,所以你可以简单地这样:
if set(seq1) - set(seq2):
do_something()