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

2024-06-28 14:26:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个名为“a”的数组,里面有1到10000的数字。我想在2s中跳过列表,我已经成功地完成了。但是,我希望程序删除每一秒的数字,例如数字“2”,它将被分配给“x”。我尝试过.pop()之类的函数,但似乎一无所获。请找个人帮忙。我只是用错函数了吗?你知道吗

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

Tags: 函数in程序列表forrange数字数组
2条回答

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

a = range(1,10000)

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

顺便说一句,代码不起作用的原因是(在某种意义上)在遍历列表时正在修改列表。你应该彻底避免它,除非你确信那是你想要的。你知道吗

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

使用列表理解

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

相关问题 更多 >