发布网友 发布时间:2022-04-21 00:08
共12个回答
懂视网 时间:2022-05-10 09:11
list中删除某个元素的方法有三种
1.remove: 删除单个元素,删除首个符合条件的元素,按值删除
举例说明:
>>> str=[1,2,3,4,5,2,6] >>> str.remove(2) >>> str [1, 3, 4, 5, 2, 6]
2.pop: 删除单个或多个元素,按位删除(根据索引删除)
>>> str=[0,1,2,3,4,5,6] >>> str.pop(1) #pop删除时会返回被删除的元素 >>> str [0, 2, 3, 4, 5, 6] >>> str2=['abc','bcd','dce'] >>> str2.pop(2) 'dce' >>> str2 ['abc', 'bcd']
3.del:它是根据索引(元素所在位置)来删除
举例说明:
>>> str=[1,2,3,4,5,2,6] >>> del str[1] >>> str [1, 3, 4, 5, 2, 6] >>> str2=['abc','bcd','dce'] >>> del str2[1] >>> str2 ['abc', 'dce']
除此之外,del还可以删除指定范围内的值。
>>> str=[0,1,2,3,4,5,6] >>> del str[2:4] #删除从第2个元素开始,到第4个为止的元素(但是不包括尾部元素) >>> str [0, 1, 4, 5, 6]
del 也可以删除整个数据对象(列表、集合等)
>>> str=[0,1,2,3,4,5,6] >>> del str >>> str #删除后,找不到对象 Traceback (most recent call last): File "<pyshell#27>", line 1, in <module> str NameError: name 'str' is not defined
注意:del是删除引用(变量)而不是删除对象(数据),对象由自动垃圾回收机制(GC)删除。
补充: 删除元素的变相方法
s1=(1,2,3,4,5,6) s2=(2,3,5) s3=[] for i in s1: if i not in s2: s3.append(i) print 's1-1:',s1 s1=s3 print 's2:',s2 print 's3:',s3 print 's1-2:',s1
热心网友 时间:2022-05-10 06:19
主要有三种方法:
用一个List 记录要删除的数据,最后removeAll(List);
用for循环遍历,原始书写方式;
用迭代器自带的remove方法,这也是官方推荐的方法。
热心网友 时间:2022-05-10 07:37
从list中删除指定元素可以使用remove方法来实现:
ArrayList al = new ArrayList();在代码中,删除元素后,需要把下标减一。这是因为在每次删除元素后,ArrayList会将后面部分的元素依次往上挪一个位置(就是copy),所以,下一个需要访问的下标还是当前下标,所以必须得减一才能把所有元素都遍历完。
热心网友 时间:2022-05-10 09:12
亲们:多个制定元素标准方法如下。
public class test {
public static void main(String[] args) {
String str="部,部,机关1,机关2,基层1,基层2";
String[] arr=str.split(",");
List<String> list=Lists.newArrayList(arr);
Iterator<String> it=list.iterator();
while(it.hasNext()) {
String x = it.next();//这部绝对不能省略,it.next()在while里面执行的一次的时候只能调用一次,多次调用就不对了
if(x.equals("部")) {
System.out.println(x);
it.remove();
}
if(x.equals("机关1")) {
System.out.println(x);
it.remove();
}
}
System.out.println(list.size());
}
}
热心网友 时间:2022-05-10 11:03
Java 循环删除list中指定元素
1.for循环遍历删除指定元素
2.增强for循环删除指定元素
3.iterator删除指定元素
热心网友 时间:2022-05-10 13:11
既然你不知道他的位置
用个for循环吧 int i ;int j=list.size() 然后循环的遍历list里面的值,在for循环里面搞个if判断
判断条件就是if(Arraylist(i)=="o")
{
Arraylist.remove(i)
}
能明白我的意思吗?
热心网友 时间:2022-05-10 15:36
都2020年了, 这样写吧
list.removeIf(obj->obj.equals("o"));
热心网友 时间:2022-05-10 18:17
while(list.contains("0"))
list.remove("0");
System.out.println(list.toString());//到此为止,所有的0都被删除了
热心网友 时间:2022-05-10 21:15
for (int i = 0; i < list.size(); i++) {
if("o"equals(list.get(i).toString)){
list.remove(get(i));
//list.remove(i);
}
}
热心网友 时间:2022-05-11 00:30
List list=new ArrayList();
list.remove(index);追问我试了一下,只删除了一个,我是想删除所有 "o",而且我不知道有几个
追答那就遍历一下,
for(int i=0;i<list.size();i++)
{
if(list.get(i).equals("0"))
list.remove(i);
}
热心网友 时间:2022-05-11 04:01
看API Boolean remove(Object obj)
list.remove("o");
热心网友 时间:2022-05-11 07:49
if (al.get(i) . equals("b") )