Python:根据条目的位置删除列表中的单个条目

时间:2015-10-30 19:01:46

标签: python list variables

是否有一种简单的方法可以删除列表中的条目?我想只删除第一个条目。在我查看的每个论坛中,我可以删除一个条目的唯一方法是 list = ['hey', 'hi', 'hello', 'phil', 'zed', 'alpha'] list.remove(0) 功能。这将是完美的,但我只能删除该条目,如果我知道它的名字。

list.remove('hey')

这不起作用,因为您只能根据其名称删除条目。我必须运行{{1}}。我不能在这个特定的例子中这样做。

如果您需要任何其他信息,请询问。

4 个答案:

答案 0 :(得分:7)

您可以尝试以下方法:

>>> my_list = ['hey', 'hi', 'hello', 'phil', 'zed', 'alpha']
>>> del my_list[0]
>>> my_list = ['hey', 'hi', 'hello', 'phil', 'zed', 'alpha']
>>> if 'hey' in my_list:     # you're looking for this one I think
...     del my_list[my_list.index('hey')]
... 
>>> my_list
['hi', 'hello', 'phil', 'zed', 'alpha']

您还可以使用filter

 my_list = filter(lambda x: x!='hey', my_list)

使用list comprehension

my_list = [ x for x in my_list if x!='hey']

答案 1 :(得分:2)

首先,永远不要称之为“列表”,因为它破坏了内置类型“列表”。其次,这是你的答案:

>>> my_list = ['hey', 'hi', 'hello', 'phil', 'zed', 'alpha']
>>> del my_list[1]
>>> my_list
['hey', 'hello', 'phil', 'zed', 'alpha']

答案 2 :(得分:1)

列表使用位置,而非(或名称,无论您想要调用它们)。

如果您的数据结构需要命名访问,请考虑使用字典,以便使用映射到keys的{​​{1}}来访问其值。

values

否则,您需要通过获取元素的索引并调用d = {'hey':0, 'hi':0, 'hello':0, 'phil':0, 'zed':0, 'alpha':0} del d['hey'] print(d) # d = {'alpha': 0, 'hello': 0, 'hi': 0, 'phil': 0, 'zed': 0} 来求助于基于索引的删除。

答案 3 :(得分:0)

添加到答案的民意调查......关于:

>>> my_list = ['hey', 'hi', 'hello', 'phil', 'zed', 'alpha']
>>> my_list=my_list[1:]
>>> my_list
['hi', 'hello', 'phil', 'zed', 'alpha']