正如標題所提到的那樣,有沒有可以做這項工作的內建工具?我在dir(list)
找過那個,但沒有找到可用的工具。謝謝。如何檢查不包含循環的另一個列表中包含的列表?
9
A
回答
27
取決於你的意思是「包含」。也許這:
if set(a) <= set(b):
print "a is in b"
10
假設你想看看的sublist
所有元素也一superlist
元素:
all(x in superlist for x in sublist)
2
的解決方案取決於你從你的列表中期望的值。
如果有一個值的重複的方法可行,你需要檢查是否有在測試容器足夠的值,然後在這裏是一個時間低效的解決方案:
def contained(candidate, container):
temp = container[:]
try:
for v in candidate:
temp.remove(v)
return True
except ValueError:
return False
測試此功能用:
>>> a = [1,1,2,3]
>>> b = [1,2,3,4,5]
>>> contained(a,b)
False
>>> a = [1,2,3]
>>> contained(a,b)
True
>>> a = [1,1,2,4,4]
>>> b = [1,1,2,2,2,3,4,4,5]
>>> contained(a,b)
True
當然這溶液可以極大地改善的
:list.remove()是潛在的耗時,並且可以使用聰明排序和索引來避免。但我看不出如何避免此一循環......
(反正,任何其他解決方案將使用集或列表的內涵,這是使用內部循環來實現的...)
+0
遲了但令人印象深刻。感謝您的澄清。 – Young 2010-04-06 10:51:03
相關問題
- 1. 包含另一個列表的列表
- 2. 列表中包含的列表檢查
- 3. 如何檢查是否列表的列表包含另一個列表
- 4. 如何過濾C#中包含另一個列表的列表?
- 5. 檢查一個列表是否包含另一個列表中的元素
- 6. 嵌套列表中的Python嵌套列表不包含循環
- 7. C++檢查一個列表是否包含一個子列表
- 8. 檢查如果列表包含一個子列表
- 9. 檢查一個列表包含從另一個
- 10. 檢查列表項是否包含另一個項目列表中的屬性
- 11. Codename一個包含列表的列表
- 12. 在另一個列表中包含的列表中使用Where?
- 13. 如何查看列表是否包含Python中的另一個列表?
- 14. 檢查蟒系列包含在另一個列表中的任何字符串
- 15. 如何選擇另一個列表中包含的元素的不同列表?
- 16. 檢查一個表是否包含列表中的值
- 17. 檢查foreach循環包含一個值
- 18. 如何測試一個列表是否包含另一個包含Python中特定項目的列表?
- 19. 檢查列表對象是否包含在另一個列表中
- 20. 如何創建一個自定義列表,包含循環中的幾列
- 21. 檢查Python列表項包含另一個字符串
- 22. 如何查找列表/集是否包含在另一個列表中
- 23. 到包含一個python列表,列表
- 24. 通過包含另一個表單的表單循環
- 25. 如何檢查列表包含Linq中的多個值到sql
- 26. 如何檢查列表的元素值之一是否包含在C#中的另一個列表中LINQ
- 27. 的MongoDB - 陣列包含的元素和不包含另一個
- 28. Hibernate的標準列表必須包含另一個列表
- 29. LINQ的位置列表包含在另一個列表
- 30. 獲取包含另一個列表的項目列表
簡單工作。我將檢查'set'的用法。謝謝。 – Young 2010-04-06 06:04:56
似乎功能上與我的解決方案相同 - 任何人都知道任何一方是否具有性能優勢? – Etaoin 2010-04-06 06:06:47
不知道我買了那個 - 對'sub'的調用是線性的,但是<='不能自由。我錯過了什麼嗎? – Etaoin 2010-04-06 06:41:29