有沒有辦法檢查 list1 中的元素是否是 list2 的一部分?我嘗試過的在下面......但我沒有得到輸出。我猜'in'函式只處理單個元素?
pattern=['Tacos', 'Pizza']
Foods=['Tacos', 'Pizza', 'Burgers', 'Fries', 'Ice-cream']
if pattern in foods:
print('yes')
uj5u.com熱心網友回復:
您可以將其作為一個簡單的集合邏輯來完成。
set(pattern).issubset(foods)
uj5u.com熱心網友回復:
使用set邏輯:
>>> set(pattern).issubset(foods)
True
在串列上使用迭代(這通常效率較低,特別是如果pattern很長,但了解它在原始in檢查沒有的情況下如何作業很有用):
>>> all(food in foods for food in pattern)
True
uj5u.com熱心網友回復:
因為pattern是一個串列,但是您想檢查模式串列中的每個元素,那么您需要使用回圈。
pattern=['Tacos', 'Pizza']
Foods=['Tacos', 'Pizza', 'Burgers', 'Fries', 'Ice-cream']
for patt in pattern:
if patt in foods:
print('yes')
uj5u.com熱心網友回復:
從模式中減去食物,串列應該是空的。
len( set(pattern) - set(Foods) ) == 0
或者,交叉點應該等于模式的長度
len( set(pattern) & set(Foods) ) == len(pattern)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/466048.html
上一篇:python中的矩陣(串列)
下一篇:連接兩個連續的串列元素
