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