del x [n]不起作用

时间:2016-11-17 20:35:15

标签: python del

我有一个列表,我正在尝试删除其中的第一项

我曾尝试使用此代码,但它没有做任何事情

del rows[rows.index(userInfo)][9].split()[0]

for context

rows[rows.index(userInfo)][9].split() 

在列表中找到一个字符串,然后将字符串拆分为列表,此字符串为

Skyfall Skyfall DarkKnight DieHard  CaptainAmerica Deadpool TheMatrix CaptainAmerica TheMatrix  CaptainAmerica TheBourneIdentity

3 个答案:

答案 0 :(得分:0)

尝试以下

lst = rows[rows.index(userInfo)][9].split()
del lst[0]

当您在一行中执行此操作时,您不会保存由split()创建的列表,因此从匿名列表中删除元素没有实际效果。如果您首先将列表分配给变量,则可以使用del删除第一个元素,然后根据需要对列表执行操作。

答案 1 :(得分:0)

我认为问题在于,您尝试从不持久的列表中删除某些内容 ....split()返回您尝试删除元素的列表。但是这个列表没有存储 您至少需要两行:

mylist = ....split()
del mylist[0]

由于split()无法正常工作,无论如何都需要存储它...... 所以你也可以写:

mylist = foo.split()[1:]

答案 2 :(得分:0)

您可以使用pop()或使用这样的切片将其编入索引:

rows[rows.index(userInfo)][9] = " ".join(rows[rows.index(userInfo)][9].split().pop())

rows[rows.index(userInfo)][9] = " ".join(rows[rows.index(userInfo)][9].split()[1:])