如何从带有数字的列表中删除索引?

时间:2018-03-31 12:47:38

标签: python python-3.x list

我有这个问题,我有一个样本列表:

list = [6, 4, 5, 3, 10]

但是,我需要通过索引删除元素,当我尝试删除“4”时,我弹出了索引4中的项目。

list.pop(4)
print(list)
Output:
list = [6, 4, 5, 3]

有没有办法解决这个问题?

4 个答案:

答案 0 :(得分:1)

`

list = [6, 4, 5, 3, 10]
del list[4]
print(list)
Output:
list = [6, 4, 5, 3]

`

答案 1 :(得分:1)

如果您知道存储在列表中的值的索引。 Python提供了一种使用pop方法删除它的好方法。

  

list.pop(indexWhichYouWantToDelete)

Difference between del, remove and pop on lists

检查此qna以获得更多说明。

谢谢

答案 2 :(得分:0)

您可以使用list.index(4)获取要弹出的元素的索引并使用它。

list.pop(list.index(4))

答案 3 :(得分:0)

元素的存在不止一个。所以,解决方案是:

void sort_by_pivot(int ar[], int N, int p)
{
    int pivot = ar[p],temp;
    for(int i=0; i<p; i++)
    {
        while(ar[i]>pivot)
        {
            if(ar[i] > pivot)
            {
                ar[p] = ar[p-1];
                ar[p-1] = pivot;
                temp = ar[i];
                ar[i] = ar[p];
                ar[p] = temp;
                p--;
            }
        }
    }

    for(int i=p+1; i<N; i++)
    {
        while(ar[i]<pivot)
        {
            if(ar[i] < pivot && p<N)
            {
                ar[p] = ar[p+1];
                ar[p+1] = pivot;
                temp = ar[i];
                ar[i] = ar[p];
                ar[p] = temp;
                p++;
            }
        }
    }
}


int main()
{
    int ar[] = {5,9,2,6,1,4,3,7,8};

    int N = 9;
    int p = 4;

    printf("%d\n",N);
    sort_by_pivot(ar, N, p);

    printf("%d\n",N);
}