首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在不使用内置函数的情况下从python中的数组中删除元素

如何在不使用内置函数的情况下从python中的数组中删除元素
EN

Stack Overflow用户
提问于 2019-08-30 20:55:13
回答 4查看 2.5K关注 0票数 0

如何在不使用python内置函数的情况下删除数组中的元素

我用内置函数试过这个程序,但我不知道没有它们该怎么做

代码语言:javascript
运行
复制
c = [6,7,8,9]
c.remove(c[0])
print(c)

我得到了预期的结果,但我不想使用python中的内置函数。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2019-08-30 21:01:39

如果您知道要删除的元素的索引:

1)您可以连接列表的2个切片,这些切片包含除要删除的元素之外的所有元素:

代码语言:javascript
运行
复制
index_to_remove = 0
c = c[0:index_to_remove] + c[index_to_remove + 1:]

2)或使用列表理解过滤:

代码语言:javascript
运行
复制
c = [e for i, e in enumerate(c) if i != index_to_remove]

如果只想删除第一个具有特定值的元素,可以使用相同的方法,只需设置:

代码语言:javascript
运行
复制
index_to_remove = c.index(my_value)
票数 0
EN

Stack Overflow用户

发布于 2019-08-30 21:02:55

这应该可以做到这一点,但是这个方法创建了一个新的数组

代码语言:javascript
运行
复制
c=[6,7,8,9]
d=[]
a=0
for x in c:
   if x!=c[a]: #or you write c[0] and remove the a=0
      d.append(x)

print(d) 
票数 1
EN

Stack Overflow用户

发布于 2019-08-30 22:27:06

您可以使用列表理解:

代码语言:javascript
运行
复制
c = [ e for e in c if e != c[0] ]

但是,如果您有多个c值实例,则它们都将被删除。

按索引删除也可以使用列表理解来完成:

代码语言:javascript
运行
复制
c = [ e for i,e in enumerate(c) if i != 0 ]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57727171

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档