是否有一种简单的方法可以删除列表中的条目?我想只删除第一个条目。在我查看的每个论坛中,我可以删除一个条目的唯一方法是 list = ['hey', 'hi', 'hello', 'phil', 'zed', 'alpha']
list.remove(0)
功能。这将是完美的,但我只能删除该条目,如果我知道它的名字。
list.remove('hey')
这不起作用,因为您只能根据其名称删除条目。我必须运行{{1}}。我不能在这个特定的例子中这样做。
如果您需要任何其他信息,请询问。
答案 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']