如何在Python中从数组中删除元素

时间:2014-05-20 14:31:47

标签: python arrays elements

我有一个名为' a'数字1到10,000就可以了。我想跳过2s的列表,我已经成功管理了。但是,我希望程序删除每一个数字,例如数字' 2'例如,将被分配给' x'。我尝试过像.pop()这样的功能,但我似乎无处可去。请有人帮忙。我只是使用了错误的功能吗?

for x in range(0,9999,2):
    a.pop()

2 个答案:

答案 0 :(得分:2)

为什么不创建 想要的值列表。效率更高:

a = range(1,10000)

a = a[1::2]     #will contain all the even numbers

顺便说一下,你的代码不起作用的原因是因为你(在某种意义上)在迭代它时修改你的列表。你应该彻底避免它,除非你绝对确定这就是你想要的。

上面的语法使用list[start:end:step]语法。因此,[1::2]将从第二个元素开始获取列表的每个第二个元素。类似地,[::2]将从默认的1st元素开始获取列表的每个第二个元素,因为没有指定起始索引。

答案 1 :(得分:0)

使用列表理解

a = [i for i in range(10000) if not i%2]