Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何以某种模式从列表中删除元素?_Python_Python 3.x_Algorithm - Fatal编程技术网

Python 如何以某种模式从列表中删除元素?

Python 如何以某种模式从列表中删除元素?,python,python-3.x,algorithm,Python,Python 3.x,Algorithm,我一直在努力研究这个特定的模式已经有一段时间了,但我无法想出一个解决方案。例如,我有这样的列表:n=['M','M','B','B'] 现在,我知道了如何从具有奇数索引或偶数索引的列表中删除元素,例如对于奇数索引的deln[1::2],对于偶数索引的deln[0::2] 但是,我希望以这样的模式删除:0、[1]、2、[3]、[5]、[8]。。。。。诸如此类。括号用于要删除的某些索引中的元素 n列表只是一个例子,我有更大的列表和更多的元素。到目前为止,我尝试过的所有事情都没有奏效,我将非常感谢在这

我一直在努力研究这个特定的模式已经有一段时间了,但我无法想出一个解决方案。例如,我有这样的列表:n=['M','M','B','B']

现在,我知道了如何从具有奇数索引或偶数索引的列表中删除元素,例如对于奇数索引的deln[1::2],对于偶数索引的deln[0::2]

但是,我希望以这样的模式删除:0、[1]、2、[3]、[5]、[8]。。。。。诸如此类。括号用于要删除的某些索引中的元素

n列表只是一个例子,我有更大的列表和更多的元素。到目前为止,我尝试过的所有事情都没有奏效,我将非常感谢在这方面的任何帮助。谢谢。

你可以用这个:

orig_list = [1, 2, 3, 4, 5]
indices_to_retain = [0, 1, 4]

new_list = [content for entry, content in enumerate(orig_list) if entry in indices_to_retain]
# [1, 2, 5]

0、1、[1]、2、[3]、[5]、[8]背后的模式是什么?很明显,您正在谈论斐波那契序列,但是什么将元素分类为要删除的索引?请指定您要删除元素的模式。这是否回答了您的问题?大概是0,1,[1],2。。。是一个打字错误,应该是0,[1],2…@jarmod:我对此表示怀疑。0,1,1,2,3,5,8是斐波那契序列。但要删除的指数似乎没有特定的顺序。没有任何算法可以遵循任何假设,所以我们需要知道这些信息。。。编辑:问题已被编辑。现在,这个清单就更没有意义了。请告诉我们,马希尔