回答
new_list = set(LISTA) - set(LISTB) # if you don't have duplicate
for i in new_list:
print i
或者:
for i in LISTA:
if i in LISTB:
continue
print i
我只能在几分钟内注册,但这个列表减法解决了我的问题。谢谢。 – relima 2010-10-25 00:46:13
如果您不需要保留重复项,那么设置非常棒。另外可能很重要的一点是'new_list'不是一个列表。 – 2010-10-25 00:58:09
集也失去了订购。一般来说,有效的做法是只为'listb'创建一个集合,其中排序和重复从不重要,所以'我在listb'中是有效的。 – 2010-10-25 05:11:39
for i in LISTA:
if i not in LISTB:
print i
一个更复杂的解决方案。这是一个简单的交点补充。
a = set([1, 2, 3])
b = set([3, 4, 5])
print(a - b)
+1一个非常干净的解决方案。 – Xorlev 2010-10-25 00:57:20
for i in (i for i in LISTA if i not in LISTB):
print i
的部分括号中是一个generator expression。这比其他方法的好处是,它不会创建重复(临时)集或列表对象。如果LISTA和/或LISTB真的很大,这一点尤其重要。
- 1. 找到,如果含有listA的不数组listB
- 2. 如何将listB中的所有项目连接到listA中的所有项目上?
- 3. Haskell List Comprehensions listA listB - > listC
- 4. Outlook Addin:迭代fodler的项目不会返回所有项目
- 5. 什么是CMP(LISTA,数组listB)的在Python
- 6. Android通过所有首选项迭代
- 7. 迭代通过IPersistentCollection项目
- 8. 通过Rails中的数组迭代时出现问题
- 9. SQL迭代通过数组
- 10. 迭代通过MFC CComboBox的项目
- 11. 通过数组有条件地迭代
- 12. 迭代通过组
- 13. 迭代2d数组并列出所有条目
- 14. 通过迭代列表追加项目
- 15. 如何通过嵌套项目迭代
- 16. 任何原因PHP不会通过引用来迭代数组?
- 17. 为什么结果不同于使用合并(lista + listb)
- 18. 通过Outlook约会项目快速迭代
- 19. 如何通过JSON数组迭代具有不同的头
- 20. 通过指针的数组迭代
- 21. 通过阵列中的数组迭代
- 22. Angular ng-repeat不会迭代通过json
- 23. 迭代通过组,然后循环利用项目
- 24. 跳过项目蚂蚁迭代项目
- 25. 如何列出在表中的所有项目通过在MySQL
- 26. 如何从迭代组合框中获取所有项目
- 27. JDBC ResultSet不会迭代所有行
- 28. 境界可可:在通过RLMArray迭代时跳过了项目
- 29. C#项目不会出现在ListView中
- 30. 在通过迭代不同的数组时遇到问题
我不确定这里最好的语法,但你可以嵌套一个如果 – Orbit 2010-10-25 00:43:45
请用[家庭作业]标记标记你的家庭作业。 – 2010-10-25 10:17:12
抱歉让你失望S.lott,这里没有作业。 – relima 2010-10-25 14:17:38