list1 = [1,2,3,4,5]
list2 = [1,1,2,3]
a = [1, 2, 3]
b = [1, 2]
d = [False for c in b if c not in a]
if d:
print('b not in a')
else:
print('b in a')
这种方式不是我需要的.如果b=[1,1,2],结果也是b in a
if list(set(a) & set(b)) ==b:
判断一下就可以。
print(a.issuperset(b))
超集了解一下。
a是b超集输出true,不是超集输出false。
那你对列表去重后再判断就行了。
b=list(set(b))
如有帮助,望点击我回答右上角【采纳】按钮支持一下。
#使用集合的交集判断:
list1 = [1,2,3,4,5]
list2 = [1,1,2,3]
if set(list1)&set(list2)==set(list2):
print('True')
else:
print('False')
你题目的解答代码如下:(如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮)
def isin(a,b):
li = a.copy()
for v in b:
if v in li:
li.remove(v)
else:
return False
return True
print(isin([1,2,3],[1,2])) #输出 True
print(isin([1,2,3],[1,1,2])) #输出 False
print(isin([1,2,3,1],[1,1,2])) #输出 True
#
for i in b:
if i in a:
a.remove(i)
else:
print(False)
break
else:
print(True)
直接循环取b的元素,判断元素在不在a中。如果不在,输出个不在,break打断循环就是了。
list1 = [31, 25, 32, 27, 33, 28, 32, 26, 33, 33, 27, 28]
list2 = [[]32,33,33],[33,33,33],[33,33,33]]
怎么样根据列表2里的元素索引出列表1的位置并且去重呢