为什么我不能删除枚举列表中的值?
Why I can't delete vaules in enumerated list?
我想使用 remove 删除这些元组,但我做不到。
我应该如何删除列表中的值?(列表如 ["a","b","c"])
def delsong(self):
value=enumerate(self.songlist)
for i in value:
print(i)
print("which song you will delete: ")
x=int(input(""))
value.remove(x)
pass
因为不是list
,所以你可能想做的是self.songlist.pop(x)
。
您应该使用 list.pop
:
直接从列表中删除一个项目
def delsong(self):
for i in enumerate(self.songlist):
# This prints the (index, value) pair as a tuple, is that what you intended?
print(i)
print("which song you will delete: ")
self.songlist.pop(int(input("")))
请注意,除了发送中断或提供无效索引外,您没有为用户提供任何取消方式,负索引有效但倒数。例如,如果用户键入 -1
,它将删除列表中的最后一首歌曲。
value
是一个迭代器,而不是列表本身。您需要从 self.songlist 中删除该项目。
由于您希望用户输入索引号,因此需要使用 self.songlist.pop(x)
。 remove() 方法根据项目的值(而不是其索引)删除项目
我想使用 remove 删除这些元组,但我做不到。 我应该如何删除列表中的值?(列表如 ["a","b","c"])
def delsong(self):
value=enumerate(self.songlist)
for i in value:
print(i)
print("which song you will delete: ")
x=int(input(""))
value.remove(x)
pass
因为不是list
,所以你可能想做的是self.songlist.pop(x)
。
您应该使用 list.pop
:
def delsong(self):
for i in enumerate(self.songlist):
# This prints the (index, value) pair as a tuple, is that what you intended?
print(i)
print("which song you will delete: ")
self.songlist.pop(int(input("")))
请注意,除了发送中断或提供无效索引外,您没有为用户提供任何取消方式,负索引有效但倒数。例如,如果用户键入 -1
,它将删除列表中的最后一首歌曲。
value
是一个迭代器,而不是列表本身。您需要从 self.songlist 中删除该项目。
由于您希望用户输入索引号,因此需要使用 self.songlist.pop(x)
。 remove() 方法根据项目的值(而不是其索引)删除项目