3 回答

TA貢獻(xiàn)1864條經(jīng)驗 獲得超6個贊
或者,您可以比較兩組:
ids = [123, 321, 111, 333]
follow_num = [111, 222]
matches = list(set(ids) & set(follow_num))
print(matches)
# [111]
print(bool(matches))
# True

TA貢獻(xiàn)1812條經(jīng)驗 獲得超5個贊
您必須遍歷中的每個值ids并檢查 中是否any存在這些值follow_num。使用any與發(fā)電機(jī)的理解:
if any(i in follow_num for i in ids):
print(ids)
輸出:
[123,321,111,333]
編輯:
如果要打印任何匹配項any()不起作用,則必須使用 for 循環(huán),因為any()計算整個列表。例子:
for i in ids:
if i in follow_num: print(i)
需要注意的是,你可以通過將加快這兩項操作follow_num事先到set()做follow_num = set(follow_num)。這是更快,因為set有一個O(1)在運行,較列出了計算in中O(N)。

TA貢獻(xiàn)1815條經(jīng)驗 獲得超13個贊
>>> ids = [123,321,111,333]
>>> follow_num = [111, 222]
>>> if set(ids).intersection(follow_num):
... print(ids)
...
[123, 321, 111, 333]
添加回答
舉報