Python If语句:如何等同于列表

Python If语句:如何等同于列表,python,python-2.7,loops,python-3.x,if-statement,Python,Python 2.7,Loops,Python 3.x,If Statement,我已经编写了一个程序,可以删除列表中的项目,并输出另一个列表 节目: 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 这样做的方法是什么?您正在检查一个整数是否不等于list。这是正确的,因此它会打印所有值 您真正想做的是检查该值是否在列表中不可用。因此您需要使用not in运算符 r = [5,7,2] for

我已经编写了一个程序,可以删除列表中的项目,并输出另一个列表

节目:

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

这样做的方法是什么?

您正在检查
一个整数是否不等于list
。这是正确的,因此它会打印所有值

您真正想做的是检查该值是否在列表中不可用。因此您需要使用
not in
运算符

r = [5,7,2]
for i in range(10):
    if i not in r:
        print i

如果整数不等于列表,则检查
。这是正确的,因此它会打印所有值

您真正想做的是检查该值是否在列表中不可用。因此您需要使用
not in
运算符

r = [5,7,2]
for i in range(10):
    if i not in r:
        print i

当你这样做时-
i=r
它总是正确的,因为
int
列表从来都不相等。您想使用
不在
运算符-

r = [5,7,2]
for i in range(10):
    if i not in r:
        print i
来自python-

操作员
不在
测试集合成员资格<如果
x
是集合
s
的成员,则s
中的code>x计算为true,否则为false
x not in s
返回s
中x的反运算


当你这样做时-
i=r
它总是正确的,因为
int
列表从来都不相等。您想使用
不在
运算符-

r = [5,7,2]
for i in range(10):
    if i not in r:
        print i
来自python-

操作员
不在
测试集合成员资格<如果
x
是集合
s
的成员,则s
中的code>x计算为true,否则为false
x not in s
返回s
中x的反运算

你可以这样试试

>>> 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
你可以这样试试

>>> 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
使用
set

>>> r = [5,7,2]
>>> for i in set(range(10))-set(r):
...     print(i)
...
0
1
3
4
6
8
9
>>>
使用
set

>>> r = [5,7,2]
>>> for i in set(range(10))-set(r):
...     print(i)
...
0
1
3
4
6
8
9
>>>

的可能重复,因为i是整数,r是列表。因此,您将int与列表进行比较。这就是为什么每次它都是不相等的,并且按照您的逻辑打印每个整数。因此,如果我不是rIf中的任何人,请使用答案回答您的问题,接受它或评论说它不起作用,因为i是整数,r是列表。因此,您将int与列表进行比较。这就是为什么每次它都是不相等的,并且按照您的逻辑打印每个整数。所以,如果我不是rIf中的任何人,请使用回答您的问题的答案接受它或评论说它不起作用