Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 删除位数组中前导0的索引_Python_Python 3.x - Fatal编程技术网

Python 删除位数组中前导0的索引

Python 删除位数组中前导0的索引,python,python-3.x,Python,Python 3.x,我正在尝试删除从列表中创建的位数组的前导0。我想做的是: while binPayload[0] == 0: del binPayload[0] 但是,中断器正在抛出: IndexError: list assignment index out of range. 在为列表编制索引之前,应检查列表是否为空。因为,您可以简单地执行以下操作: while binPayload and binPayload[0] == 0: del binPayload[0] 试试这个: imp

我正在尝试删除从列表中创建的位数组的前导0。我想做的是:

while binPayload[0] == 0:
    del binPayload[0]
但是,中断器正在抛出:

IndexError: list assignment index out of range.

在为列表编制索引之前,应检查列表是否为空。因为,您可以简单地执行以下操作:

while binPayload and binPayload[0] == 0:
    del binPayload[0]
试试这个:

import itertools as it
a = [0, 0, 0, 0, 1, 1, 1, 1]
list(it.dropwhile(lambda x: x == 0, a))
=> [1, 1, 1, 1]

仍然抛出相同的错误。例如,我试图用00001111填充它,所以实际上我应该用1111。如果将
print binPayload
放在while语句之前,会得到什么?显然,对于Python3来说,
print(binPayload)
。哈!我发现了错误。我对另一个列表做了同样的事情,它是分母,我也是delbinpayload[0]。是因为打印声明才发现的,谢谢。