0
A
回答
1
當你的解決方案是完全正常和可讀性,你可以把它更加通用,允許可變數量的列表,並檢查是否一個給定的元素在任何他們通過在函數進行包裝:
>>> def not_in_any(*lists, key=None):
for lst in lists:
if key in lst:
return False
return True
>>> not_in_any([2, 5, 7], [8, 9, 23], [34, 56, 78], [32, 91, 6], key=32)
False
>>> not_in_any([2, 5, 7], [8, 9, 23], [34, 56, 78], [31, 91, 6], key=32)
True
>>>
然而要注意的Python已經提供了一個內置的功能 - any()
它已經提供了在我們的函數for循環的行爲:
def not_in_any(key=None, *lists):
not any(key in l for l in lists)
+0
或者只是'沒有任何(在列表中鍵入l)l「或」全部(鍵不在l中列出l)「。 – TigerhawkT3
+0
@ TigerhawkT3嗯,那也可以:|爲了OP的緣故,我試圖做得更加冗長。我會將其添加到我的答案。 –
-1
另一種方法是CONCAT和檢查: -
a=[1,2,5]
b=[3,4]
x=8
res= x not in a+b #True
0
a=[1,2,5]
b=[3,4]
x=8
all(x not in i for i in (a, b))
OR:
from itertools import chain
x not in chain(a, b)
相關問題
- 1. 檢查列的組合是否匹配在這兩個表
- 2. 檢查值是否不在列表中
- 3. Excel - 檢查兩列中是否存在兩個值
- 4. Python:檢查元素是否不在兩個列表中?
- 5. 檢查兩個列表是否在序言中不同
- 6. 如何檢查列表框中是否存在某個值?
- 7. 如何檢查一個值是否在Perl的列表中?
- 8. 檢查是否兩個PHP列表是完全不相交
- 9. 檢查列表是否有一個或兩個子列表
- 10. 如何檢查兩個元組列表是否相同
- 11. 如何檢查兩個列表是否部分相同haskell
- 12. 如何檢查列表中的兩個數字是否相同
- 13. Android SqlLite檢查兩個不同列中是否存在兩個值
- 14. 如何檢查值是否在列表中或列表是否爲空?
- 15. 如何檢查兩個表中的值是否相同或不在postgresql內?
- 16. 如何檢查兩個值是否與JavaScript不等於null?
- 17. SQL查詢來檢查值是否在兩個表
- 18. 檢查兩個不同列中的值是否包含匹配
- 19. 如何檢查一個值是否在一系列值中?
- 20. 如何在涉及兩個表時檢查是否存在行?
- 21. 如何檢查數字是否在兩個值之間?
- 22. 檢查兩個值是否爲負數
- 23. 如何在數據表的列中檢查值是否存在?
- 24. 檢查值是否在不同的表
- 25. 如何檢查是否在多個表
- 26. 如何檢查列表中的值是否不在另一個IList中
- 27. 檢查值是否在另一個表
- 28. 檢查列表中是否存在某個值以外的值
- 29. C#如何檢查兩個值中的一個是否爲真?
- 30. 如何檢查列的值是否存在或不在sqlite android?
這幾乎是它。 – TigerhawkT3
我的意思是,如果你想要,你可以使用'all',但只有兩個列表,你現在的方法已經很可讀了。 – TigerhawkT3
如果您有很多值,而且您的列表相當大,那麼您應該將您的列表轉換爲集合。 – Akavall