如何检查一系列INT是否在列表中并在Python

时间:2017-08-02 15:38:22

标签: python python-2.7 list loops

我有一个带整数的列表,其中每秒int为零(0),如下所示:

mylist = [1,0,2,0,3,0,4,0]

我只能检查单个位置:

for i in range(0, len(mylist)):
     if i in mylist:
          #do something here

我试图在每个循环中检查两个位置,所以如果循环在mylist中找到例如“2,0”,它将能够删除这两个整数。

任何建议都将受到赞赏。

2 个答案:

答案 0 :(得分:2)

由于myDAO2之间的值是唯一的,因此您只需使用0查找目标值,然后使用list.index删除此值以及del中的下一个值{1}}:

list

答案 1 :(得分:1)

以下是一个示例,如果您想要删除序列(2,0),请考虑下面提到的展平方法:

from itertools import izip, chain

>>> list(chain(*[[u,v] for u,v in izip(*[iter(mylist)]*2) if (u,v)!=(2,0)]))
[1, 0, 3, 0, 4, 0]

所有学分归于:

Creating a python dictionary from a line of text