Используя более старые версии 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);
Для получения дополнительной информации обратитесь к этой ссылке.
>>> argList = ["egg1", "egg2"]
>>> egg2(*argList)
egg1
egg2
При вызове функции вы можете использовать * args (arguments) и ** kwargs (для аргументов ключевого слова). Посмотрите этот блог о том, как правильно его использовать.
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 не указан или есть
blockquote>None
, применяется другой алгоритм разделения: пробеги последовательного пробела рассматриваются как один разделитель, и результат не будет содержать пустых строк в начале или end, если строка имеет ведущие или конечные пробелы.
Возможно, есть более эффективные способы, но вы можете сделать:
argList = ["egg1", "egg2"]
(a, b) = tuple(argList)
egg2(a, b)