我想檢查某個條件串列,然后列印它假設我想檢查 b 中的 a 專案
我想檢查串列“b”中串列“a”的值,所以我使用了這段代碼
a=[1,2]
b=[1,2,3,4,5,6,7,8,9,]
c=[]
for i in a:
for j in b:
if i!=j:
c.append(j)
但是當我運行這段代碼時我得到了無限回圈,請幫助我。
uj5u.com熱心網友回復:
目前尚不清楚您要實作什么行為,但我想您想過濾掉b出現在a. 如果是這樣,您可以這樣做:
a = [1, 2]
b = [1, 2, 3, 4, 5, 6, 7, 8, 9]
c = []
for i in b:
if not i in a:
c.append(i)
print(c)
結果:
[3, 4, 5, 6, 7, 8, 9]
uj5u.com熱心網友回復:
**If you want to recover
identical elements in each list then try this code:**
c = []
def list_contains(a, b):
for x in a:
for y in b:
if x == y:
c.append(x)
continue
return c
a = [1, 2]
b = [1, 2, 3, 4, 5, 6, 7, 8, 9, ]
print(list_contains(a, b))
uj5u.com熱心網友回復:
讓我們使用一些串列理解!
我將重命名您的串列:
list_a = [1, 2]
list_b = [1, 2, 3, 4, 5, 6, 7, 8, 9]
所以你想要一個串列中的所有東西list_b......
result = [elem for elem in list_b] # (this just copies the list)
...元素也在list_a:
result = [elem for elem in list_b if elem in list_a]
...元素不在的地方list_a:
result = [elem for elem in list_b if elem not in list_a]
或者,創建一個函式并使用filter:
def keep_b_if(b_elem):
return b_elem in list_a
# or
return b_elem not in list_a
result = filter(keep_b_if, list_b)
此外,如果a只是要保存/丟失的值的集合b,它可以是 aset而不是 a list:
forbidden = {1, 2}
...
if elem not in forbidden:
...
uj5u.com熱心網友回復:
無限回圈可能是因為第 7 行缺少縮進。
此外,如果您試圖在 b 中查找串列 a 的值串列,它應該是
i == j
代替
i != j
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/513787.html
