Как перебирать элементы списка в функции в качестве аргументов [duplicate]

Используя более старые версии Java, включая Java 7, вы можете использовать цикл foreach следующим образом.

List items = new ArrayList<>();
        items.add("A");
        items.add("B");
        items.add("C");
        items.add("D");
        items.add("E");

        for(String item : items){
            System.out.println(item);
        }

Ниже приведен самый последний способ использования цикла foreach в Java 8

(loop a List with forEach + выражение lambda или ссылка на метод)

//lambda
    //Output : A,B,C,D,E
    items.forEach(item->System.out.println(item));


//method reference
    //Output : A,B,C,D,E
    items.forEach(System.out::println);

Для получения дополнительной информации обратитесь к этой ссылке.

https: // www.mkyong.com/java8/java-8-foreach-examples/

19
задан arserbin3 18 May 2014 в 00:06
поделиться

4 ответа

>>> argList = ["egg1", "egg2"]
>>> egg2(*argList)
egg1
egg2

При вызове функции вы можете использовать * args (arguments) и ** kwargs (для аргументов ключевого слова). Посмотрите этот блог о том, как правильно его использовать.

43
ответ дан Jacob 25 August 2018 в 09:46
поделиться

arg.split() не разбивает список так, как вы хотите, потому что разделитель по умолчанию не соответствует вашим:

In [3]: arg
Out[3]: 'egg1, egg2'

In [4]: arg.split()
Out[4]: ['egg1,', 'egg2']

In [5]: arg.split(', ')
Out[5]: ['egg1', 'egg2']

Из документы (выделено мной):

Если sep не указан или есть None, применяется другой алгоритм разделения: пробеги последовательного пробела рассматриваются как один разделитель, и результат не будет содержать пустых строк в начале или end, если строка имеет ведущие или конечные пробелы.

0
ответ дан matt b 25 August 2018 в 09:46
поделиться

Возможно, есть более эффективные способы, но вы можете сделать:

argList = ["egg1", "egg2"]
(a, b) = tuple(argList)
egg2(a, b)
1
ответ дан MByD 25 August 2018 в 09:46
поделиться

Существует специальный синтаксис для распаковки аргументов :

egg2(*argList)
9
ответ дан Sven Marnach 25 August 2018 в 09:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: