已知
list= [(1,2,3,4,5)]
list2 = [(1,2),(2,4),(7,8),(4,7),(6,10)]
想要求出list2中不包括list的结果, 如下val的值
val = [(7,8),(6,10)]
如何做? 感谢~
其实遍历list2里面的元素就行,判断每个元素的值都没在list出现,就把它添加到列表val
list= [(1,2,3,4,5)]
list2 = [(1,2),(2,4),(7,8),(4,7),(6,10)]
val = []
for item in list2:
if item[0] not in list and item[1] not in list:
val.append(item)
print(val)
list = [(1, 99, 8, 10, 6)]
list2 = [(1, 99), (2, 8), (7, 9), (8, 10), (8, 6)]
set1 = set(list[0])
val = [x for x in list2 if all(y not in set1 for y in x)]
print(val)
将list列表转换成集合 set1,方便后面使用。
使用列表推导式遍历list2中的每一个元素,如果当前元素不包括在set1中,则将其添加到结果列表中。
最后返回结果列表。
这一看都不包括呀
不知道你这个问题是否已经解决, 如果还没有解决的话:list1.index(9, 2, 8)
答案:
可以使用列表推导式和条件判断实现删除列表中的特定元素:
list1 = [0,0,0,1,2,0,3,0]
list2 = [1,2,3,4,5,6,7,8]
new_list = [i for i in list1 if i not in list2]
print(new_list)
# 输出结果为 [0, 0, 0, 0]
解释: new_list
是通过列表推导式生成的新列表,其中每个元素 i 都来自 list1。但是这里加了一个判断条件 if i not in list2
,表示只有当 i 不在 list2 中时,才向新列表中添加它。这就实现了在 list1 中删除 list2 元素并生成新列表的效果。