Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/355.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:如何返回相同的数组,其中每行中的第I个元素都被删除?_Python_List - Fatal编程技术网

Python:如何返回相同的数组,其中每行中的第I个元素都被删除?

Python:如何返回相同的数组,其中每行中的第I个元素都被删除?,python,list,Python,List,假设我有一个列表: [[1,2,3,4,5], [11,22,33,44,55], [111,222,333,444,555]] 如果给定任何I,我如何简单地返回相同的列表,其中每行的第I个元素被删除? 例如,如果i=2,我们得到: [[1,2,4,5],[11,22,44,55],[11122244555] 我试过: 切片,但遇到了类似于list[0:i]的问题,当i=0时失败。 使用my_list.index(i)获取索引值,但此操作失败,因为函数希望匹配字符串 提前感谢。您可以del第

假设我有一个列表:

[[1,2,3,4,5], [11,22,33,44,55], [111,222,333,444,555]] 
如果给定任何I,我如何简单地返回相同的列表,其中每行的第I个元素被删除?
例如,如果i=2,我们得到:
[[1,2,4,5],[11,22,44,55],[11122244555]

我试过:
切片,但遇到了类似于
list[0:i]
的问题,当i=0时失败。
使用
my_list.index(i)
获取索引值,但此操作失败,因为函数希望匹配字符串


提前感谢。

您可以
del
第i项

i = 2
for x in my_list:
    del x[i]

...
return my_list # Same list reference
输出:

[[1, 2, 4, 5], [11, 22, 44, 55], [111, 222, 444, 555]]

您可以删除第i项

i = 2
for x in my_list:
    del x[i]

...
return my_list # Same list reference
输出:

[[1, 2, 4, 5], [11, 22, 44, 55], [111, 222, 444, 555]]

据我所知,您不需要修改原始列表,您可以使用原始列表的副本,其中每个内部列表的第I个元素都会弹出。列出理解和片段来解救

def pop_ith(lst, i):
    return [x[0:i] + x[i+1:] for x in lst]

>>> a = [[1,2,3,4,5], [11,22,33,44,55], [111,222,333,444,555]] 
>>> pop_ith(a,1)
[[1, 3, 4, 5], [11, 33, 44, 55], [111, 333, 444, 555]]
>>> pop_ith(a,0)
[[2, 3, 4, 5], [22, 33, 44, 55], [222, 333, 444, 555]]
>>> pop_ith(a,4)
[[1, 2, 3, 4], [11, 22, 33, 44], [111, 222, 333, 444]]
>>> pop_ith(a,6)
[[1, 2, 3, 4, 5], [11, 22, 33, 44, 55], [111, 222, 333, 444, 555]]

据我所知,您不需要修改原始列表,您可以使用原始列表的副本,其中每个内部列表的第I个元素都会弹出。列出理解和片段来解救

def pop_ith(lst, i):
    return [x[0:i] + x[i+1:] for x in lst]

>>> a = [[1,2,3,4,5], [11,22,33,44,55], [111,222,333,444,555]] 
>>> pop_ith(a,1)
[[1, 3, 4, 5], [11, 33, 44, 55], [111, 333, 444, 555]]
>>> pop_ith(a,0)
[[2, 3, 4, 5], [22, 33, 44, 55], [222, 333, 444, 555]]
>>> pop_ith(a,4)
[[1, 2, 3, 4], [11, 22, 33, 44], [111, 222, 333, 444]]
>>> pop_ith(a,6)
[[1, 2, 3, 4, 5], [11, 22, 33, 44, 55], [111, 222, 333, 444, 555]]

使用
del
是否会对原始列表造成一个“副作用”?是的,是的。如果需要在适当的位置删除某个元素,则始终需要该副作用。如果你是指我在另一个答案下面的评论,我的意思是,如果列表理解在原始列表中引入了副作用,则不建议进行列表理解。我们在其他地方再次使用该列表是什么?:)如果不问新问题,我想以后再使用该列表怎么办?使用
del
是否会对原始列表产生一个可怕的“副作用”?是的,是的。如果需要在适当的位置删除某个元素,则始终需要该副作用。如果你是指我在另一个答案下面的评论,我的意思是,如果列表理解在原始列表中引入了副作用,则不建议进行列表理解。我们在其他地方再次使用该列表是什么?:)不用问新问题,如果我想以后再使用列表怎么办?这很好。非常感谢你的观点。这很好。非常受欢迎的观点。