我有这个问题,我有一个样本列表:
list = [6, 4, 5, 3, 10]
但是,我需要通过索引删除元素,当我尝试删除“4”时,我弹出了索引4中的项目。
list.pop(4)
print(list)
Output:
list = [6, 4, 5, 3]
有没有办法解决这个问题?
答案 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);
}