Python,从列表中删除数据
我有以下python代码:Python,从列表中删除数据,python,list,python-2.7,Python,List,Python 2.7,我有以下python代码: data = [1,2,3,4,5,6] data_f = data[0::2] 编辑:抱歉,英语不是我的第一语言。我曲解了文件,因此提出了一个毫无意义的问题。我只是尝试从列表数据中获取每一个第二项,并将其放入_data_f_,以便_data_f_包含(1,3,5)和数据包含(2,4,6)。如果不使用pop,我将如何完成此操作?(我现在知道它还有其他作用) 请注意,[index]表示索引是可选的,而不是作为列表提供 要从列表中删除第二个元素,可以使用列表理解:
data = [1,2,3,4,5,6]
data_f = data[0::2]
编辑:抱歉,英语不是我的第一语言。我曲解了文件,因此提出了一个毫无意义的问题。我只是尝试从列表数据中获取每一个第二项,并将其放入_data_f_,以便_data_f_包含(1,3,5)和数据包含(2,4,6)。如果不使用pop,我将如何完成此操作?(我现在知道它还有其他作用)
请注意,[index]表示索引是可选的,而不是作为列表提供
要从列表中删除第二个元素,可以使用列表理解:
data_f = [data[i] for i in range(len(data))[0::2]]
我想如果你真的想使用这种语法,你可以这样做
[data.remove(y) for y in data[0::2]]
L.pop([index])->项
--删除并返回索引处的项(默认为最后一个)。如果列表为空或索引超出范围,则引发索引器错误。pop()需要一个索引,而你正在传递一个切片,所以这是行不通的。在发布问题之前,你应该先阅读文档。阅读文档,pop()的行为会被清楚地记录下来。你认为一个API能做什么根本不感兴趣。文档告诉您一个方法实际上是如何工作的。阅读文档而不是猜测。数据[1::2]
应该会提供您所需的列表。
我收到一个语法错误-据我所知,我正在遵循文档中列出的语法。我试图从列表中删除每一个数字(1、3、5)。他试图删除每一个数字,而不是保留:)我假设上面是他期望data.pop([0::2])所做的。但我想这是不明确的。还要注意,这是非常低效的。
[data.remove(y) for y in data[0::2]]