我知道在这个话题上有很多类似的问题,我已经做了足够的研究,让我觉得这个问题上的扭曲还没有被讨论过,或者只是很难找到。我知道,除非您使用某种副本或其他东西,否则不能只从正在迭代的列表中删除项。我遇到的例子是
list=[1,2,3,4,5,6,7,8,9,10]
for x in list[:]:
if x==3:
list.remove(x)
list.remove(7)
这将从列表中删除3和7。然而,如果我有以下几点:
for x in list[:]:
if x==3:
list.remove(x)
list
我有一个从0到77代表塔罗牌的列表,这个列表继续从77到155代表这个塔罗牌的反向类型。我想随机选择这些卡片中的10张,如果我选择0号卡片,我不应该选择它的反转类型(78号)。 深度解释; 我有78张塔罗牌。它们既有正义,也有反义词。它们都在数组78+78 = 156的列表中,我想选择其中的10个。例如,我选择的第一张卡是数组编号0。它的倒数是78。对于我选择的第二张卡片,不应该选择卡片编号78,因为数字0和数字78是同一张卡片。我选择的下一张卡片,我希望我解释得很好。 我的代码很低级,但并不像我所建议的那样工作。你能帮我吗?谢谢。 var list = [];
@override
voi
编写一个猪拉丁函数,接收文本,并返回猪拉丁翻译。试图删除前面的辅音,但得到的ValueError list.remove(x) x不在列表中。Print语句显示这不是真的。
当输入是一个单词vs.text时,我编写了一个类似的程序,其中包含多个单词。这个程序只输入一个单词,但当我尝试修改多个单词输入时,程序就可以正常工作了。
我试着复制我想要修改的单词,以防删除字母会扰乱迭代过程。这似乎没有帮助,我仍然收到同样的错误,当试图删除这些字母。
def is_consonant(character):
"""takes a character and return
我有这个代码(我正在尝试制作的游戏的一部分),它检查一个列表的元素与另一个list...basically的元素,它所做的是比较每个元素的每个索引,如果2个索引相等,它会将它从列表中删除
下面是代码:
checkctr = 0
x = 0
while checkctr < 4:
if p1guesslist[x] == hidden[x]:
black += 1
p1nonhidden.remove(hidden[x]) #p1nonhidden is a copy of hidden
p1nonmatch.remove(hidd
有人能告诉我为什么这不管用吗?我说错了:
ValueError: list.remove(x): x not in list。
但是如果我尝试print max,它会打印9,如果我打印print min,它会打印1。
list = [3,1,4,9,5,7]
max = list[0]
min = list[0]
list = list[:]
while len(list)> 2:
for i in list:
if(i > max):
max = i
给定要搜索的字符串,我想编写一个只接受一个参数(要搜索的字符串)的递归函数。该函数将递归地搜索该值,如果找到它,它将删除该项并返回它。如果找不到,则函数将到达列表的末尾并返回null。我认为到目前为止,我的想法是正确的,除非它没有正常运作:
主测试类
public static void main(String[] args) {
RecLinkedList list = new RecLinkedList();
list.add("A");
list.add("B");
list.add("D");
li
有一个元素列表:
String[] temp = new String[]{"NORTH", "SOUTH", "SOUTH", "EAST", "WEST", "NORTH", "WEST"};
ArrayList<String> list = new ArrayList<>(Arrays.asList(temp));
需要删除“东”和“西”两种元素,如果它们是连续的:
for (int i = 0; i < list.size() - 1;
我需要从整数数组列表中删除整数。我对字符串和其他对象没有问题。但当I删除时,整数被视为索引而不是对象。
List<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(300);
list.remove(300);
当我尝试删除300时,我得到了:06-11 06:05:48.576: E/AndroidRuntime(856): java.lang.IndexOutOfBoundsException: Invalid index 300, size is 3
这是我得到错误的代码。我得到了错误:“列表索引超出范围”,我知道这是因为您不能在迭代中删除项,但我需要,也不知道如何删除。
实际上,我试图对这个列表进行排序,但是找到最小值,然后将其附加到新列表中,然后从旧列表中删除它,但我不知道如何进行排序。请帮帮忙。
代码:
list = [22,1,-5,-10,62,-11,36,8]
m = list.index(min(list))
sorted_list = []
for x in range(len(list)):
if list[x] > list[m]:
sorted_list.append(list[m])
我能够从列表中删除一个Integer并将其存储在一个变量中。然而,我在使用String时遇到了问题。有没有一种方法可以移除列表中的字符串并存储它?下面的代码展示了如何处理整数:
List<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(3);
Integer removedItem = list.remove(3);
我做了同样的事情,但这一次是使用String,但不起作用:
List<String> list = new
我是java的New蜜蜂,试图从列表数组中删除元素。已经尝试了许多变体,但总是得到输入错误,没有从列表中删除任何内容。尝试了做好条件,比如:if (list.contains(tch.getSurname())或类似的东西,总是得到输入错误的错误。希望你能帮我解决这个问题。
package com.company;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Main {
static Main main = new Main();
/*
我有一个大层次结构中的节点列表。如何有效地确定我的哪些节点是列表中任何其他节点的后代?
具体地说,这是一个ASP.NET控件列表。我的代码检查每个节点及其后代,所以我试图消除冗余。
下面的树就是一个简单的例子:
Parent
/ \
Gladis Arthur
/ \
Jon Sam
我的列表包含{ Parent, Jon }。
我想写一个算法,根据Parent节点包含Parent作为子代的事实,将列表减少到只有Jon。
下面是代码:
public class Node
{
pub
public void addPopulace()
{
Scanner sc = new Scanner(System.in);
System.out.println("Enter name");
String name = sc.next();
System.out.println("Enter size");
int size = sc.nextInt();
System.out.println("Enter X-Coordinate");
int x = sc.nextInt();
这是一个类似的的后续,它要求最好的编写方式。
for item in somelist:
if determine(item):
code_to_remove_item
似乎大家的共识是
somelist[:] = [x for x in somelist if not determine(x)]
但是,我认为如果您只删除几个项,那么大多数项都会被复制到同一个对象中,这可能很慢。在另一个相关的中,有人建议:
for item in reversed(somelist):
if determine(item):
somelist.remove(i
我想遍历一个列表并检查其中所有可能的组合。目前,我正在使用一系列嵌套的for循环,显然我并不喜欢使用这种方法的速度。它非常慢,可能需要20-30分钟来完成所有的组合。
for n1 in list1:
list.append(n1)
for n2 in list2:
list.append(n2)
for n3 in list2:
list.append(n3)
for n4 in list3:
list.append(n4)
for