我有一个MySQL数组转换为Python列表,我想从列表中删除一个元素值。这就是我尝试过的:
existingEpisodeIDs = list(c.fetchall())
existingEpisodeIDs = [(22528819L,), (22604873L,), (22677186L,)]
id = 22528819
listElement = '(' + str(id) + 'L,)'
existingEpisodeIDs.remove(listElement)
但我明白了:
ValueError: list.remove(x): x not in list
鉴于以上数据,任何人都可以告诉我有关用于删除元素的正确语法,或建议更好的方法来实现所需的结果吗?
由于
答案 0 :(得分:3)
existingEpisodeIDs = [row[0] for row in c.fetchall()] #this will end up just being a list of id's
id = 22528819
existingEpisodeIDs.remove(id)
答案 1 :(得分:0)
In [17]: existingEpisodeIDs = [(22528819L,), (22604873L,), (22677186L,)]
In [18]: id = 22528819
In [19]: existingEpisodeIDs.remove((id,)) #tuple with the id
In [20]: existingEpisodeIDs
Out[20]: [(22604873L,), (22677186L,)]
只是在这里快速回复你的错误:L识别长型
In [23]: type(existingEpisodeIDs[0][0])
Out[23]: long
你没有必要在最后构造一个带有L的字符串,你只需用你需要删除的id来构造元组并设置:)