我已經編寫了一個程序,它可以消除列表中的項目並輸出另一個列表。Python如果語句:如何等於一個列表
計劃:
r = [5,7,2]
for i in range(10):
if i != r:
print i
它輸出
0
1
2
3
4
5
6
7
8
9
但我想所需的輸出爲
0
1
3
4
6
8
9
什麼是這樣做的方法是什麼?
我已經編寫了一個程序,它可以消除列表中的項目並輸出另一個列表。Python如果語句:如何等於一個列表
計劃:
r = [5,7,2]
for i in range(10):
if i != r:
print i
它輸出
0
1
2
3
4
5
6
7
8
9
但我想所需的輸出爲
0
1
3
4
6
8
9
什麼是這樣做的方法是什麼?
當你這樣做 - i !=r
它總是如此,因爲int
和list
永遠不會是平等的。你想使用not in
運營商 -
r = [5,7,2]
for i in range(10):
if i not in r:
print i
從蟒蛇documentation -
運營商
in
和not in
測試集合成員。如果x
是集合s
的成員,則返回x in s
,否則返回false。x not in s
返回x in s
的否定。
要檢查if a integer is not equal to to list
。其中是正確的,因此打印所有的價值
你真正想要做的是檢查。所以你需要使用not in
操作
r = [5,7,2]
for i in range(10):
if i not in r:
print i
你可以嘗試這樣的,
>>> r = [5, 7, 2]
>>> for ix in [item for item in range(10) if item not in r]:
... print ix
...
0
1
3
4
6
8
9
使用[如何檢查是否爲特定的整型是在列表(HTTP的set
>>> r = [5,7,2]
>>> for i in set(range(10))-set(r):
... print(i)
...
0
1
3
4
6
8
9
>>>
可能重複://計算器。 com/questions/14608015/how-to-check-if-a-specific-integer-is-in-a-list) –
因爲** i **是一個整數而** r **是一個列表。所以,你將int與一個列表進行比較。這就是爲什麼它每次都是**不等於**並根據您的邏輯打印每個整數。所以,使用**,如果我不在r ** –
如果任何人的答案回答你的問題接受它或評論說它沒有工作 – The6thSense