python 判断某个列表中的所有元素在另一个列表中
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 判断某个列表中的所有元素在另一个列表中相关的知识,希望对你有一定的参考价值。
RT。如何判断?
如:list1= ['a','b','c']
list2=['b','c','a'],那么这两个list相等
不要sort()之后判断相等。
你这个标题怎么跟内容不一致。
判断一个列表中的元素是否都在另一个列表中,用集合就可以了。
>>> l1 = ['a','b','c']>>> l2 = ['d', 'b','c','a']
>>> set(l1).issubset(set(l2))
True
>>> 参考技术A 给个思路吧,其实其他人都已经给出了,首先判断两个list是否元素相同,然后取出一个list的每一个值与另一个list进行判断是否in,另外我认为set方式不好,不能用去除重复方式来看list 参考技术B def equal(list1, list2):
if len(list1) != len(list2):
return False
for each in list2:
if each in list1:
continue
else:
return False
return True
徒手写的,有问题请提出
参考技术C test = [a for a in list1 if a not in list2]if not test:
print("list1 is list2")
test2 = filter(lambda x: (x not in list2), list1)
if not test2:
print("list1 is list2") 参考技术D a=['a','b','b']
b=['a','b','c','d']
if len(a)>len(b):
print 'false'
else:
for i in range(len(a)):
if a[i] in b:
b.remove(a[i])
if i==len(a)-1:
print 'a in b'
else:
print 'a not in b'
break
Python3 - 列表
序列,一种包含多项数据的数据结构,按照顺序排列,通过索引访问其中的数据。Python 常见的序列类型有字符串、列表和元组。
列表,保存对象的容器,可以存储任意数据类型的数据。所有元素都放在 [ ] 中,用逗号分割每个元素。
列表是可变的。如果一个容器是可变的,则可以修改容器中的对象。将列表中某个元素的索引赋给一个新的对象,即可改变该元素。
如果可以使用循环访问对象中的每一个元素,那么该对象是可迭代的,被称为可迭代对象,因此字符串、列表和元组都是可迭代的。可迭代对象中的每一个元素都有一个索引,即表示元素在可迭代对象中位置的数字。列表的正序索引从 0 开始,倒序索引从 -1 开始。
创建空列表
>>> list0 = []
>>> list0, type(list0)
([], <class 'list'>)
元素的查询
1.通过元素的索引来进行列表查询,切片([开始索引:结束索引:步长])列表时遵循顾首不顾尾的原则。
>>> list0 = ['A', 'B', 'C', 'D', 1, 2, 3, 4]
>>> list0[0] # 查单个元素
'A'
>>> list0[1], list0[2] # 查多个元素
('B', 'C')
>>> list0[0:4] # 切片
['A', 'B', 'C', 'D']
>>> list0[::2] # 步长
['A', 'C', 1, 3]
>>> list0[:] # 开始索引和结束索引不写则查询全部元素
['A', 'B', 'C', 'D', 1, 2, 3, 4]
>>> list0[0:0] # 开始索引和结束索引为 0 ,返回空列表。
[]
2.index() 方法
通过元素查索引,有被查询元素则返回元素的索引值,没有则报错:ValueError。
>>> list0 = ['A', 'B', 'C', 'D', 1, 2, 3, 4]
>>> list0.index('A')
0
>>> list0[list0.index('D')] # 查找结果返回元素的值:先找索引,在通过索引找元素的值。
'D'
>>> list0.index('E')
Traceback (most recent call last):
File "<pyshell#16>", line 1, in <module>
list0.index('E')
ValueError: 'E' is not in list
元素的修改
通过索引来修改元素的值。
注意:索引切片修改时是先把切片匹配到的元素给删除,在插入新的元素,新的元素不限制个数但必须是可迭代的。
>>> list0 = ['A', 'B', 'C', 'D', 1, 2, 3, 4]
>>> list0[0] = 'a'
>>> list0
['a', 'B', 'C', 'D', 1, 2, 3, 4]
>>> list0[1:4] = 'bcef' # 新元素不限制个数
>>> list0
['a', 'b', 'c', 'e', 'f', 1, 2, 3, 4]
更新时间:2019-08-18
以上是关于python 判断某个列表中的所有元素在另一个列表中的主要内容,如果未能解决你的问题,请参考以下文章