在Python中如何从子数组中删除元素

2024-05-29 00:13:22 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我们有一个类似a = [['a','b','c'], ['aber', 'jsfn', 'ff', 'fsf', '003'], [...] ...]的数组,其中每个元素的大小都不同。我要做的是删除每个子数组的最后一项,如果它符合我设置的条件。所以我有:

for x in range(len(a)):
    if the last item in x matches some condition that is set:
        then remove the last item from x

因为我正在处理一个数组,所以我尝试了a.remove(-1),但这是错误的。有什么简单的方法吗?在

举个例子,如果我有:

^{pr2}$

我该怎么做?任何例子或链接到一些教程是非常感谢。在


Tags: thein元素forrange数组item条件
3条回答

Python列表支持del,按索引:

>>> l = [1,2]
>>> del l[-1]
[1]

.remove(value)删除第一个匹配值。在

.pop(value)与remove相同,但它返回已删除的值,如果不给它一个值,它将从列表中“弹出”最后一个项目。在

这里是一个列表列表,而不是数组。在此基础上,您可以执行以下操作:

a = [['a','b','c'], ['aber', 'jsfn', 'ff', 'fsf', '003'], ['d', 'Starts With S']]  

for sublist in a:
    if sublist[-1].startswith("S"):
        sublist.pop()

print a

运行时产生:

^{pr2}$

这可能已经在这里得到了回答Remove object from a list of objects in python

你可以重申一下这个索引

for x in range(len(a)):
        if the last element of each element starts with an "S":
            array.pop(x)

相关问题 更多 >

    热门问题