Какая польза от * в print (* a), где 'a' - это список в python - PullRequest
0 голосов
/ 25 мая 2020

Я python новичок ie. Я видел код, который имел * внутри функции печати // print (* a) // в которой 'a' было списком. Я знаю * - это оператор умножения в python, но не знаю, что он в списке

Ответы [ 2 ]

0 голосов
/ 25 мая 2020

(Если вы не знаете о переменном количестве методов аргументов, оставьте эту вершину c и изучите это после этого)

Распаковка элементов в списке

Считайте new_list = [1, 2, 3]. Теперь предположим, что у вас есть функция с именем addNum (* arguments) , которая ожидает n аргументов в разных экземплярах.

случай 1: рассмотрите возможность вызова нашей функции с одним параметром в списке. Как вы это назовете? Сделаете это с помощью addNum (new_list [0]) ?

Круто! Нет проблем.

случай 2: Теперь рассмотрим вызов нашей функции с двумя параметрами в списке. Как вы это назовете? Вы сделаете это с помощью addNum (new_list [0], new_list [1]) ?

Кажется сложным !!

Случай 3: Теперь рассмотрите возможность вызова нашей функции со всеми три параметра в списке. Вы вызовете его с помощью addNum (new_list [0], new_list [1], new_list [2]) ? Что делать, если вы можете разделить значения таким образом с помощью оператора?

Да! addNum (new_list [0], new_list [1], new_list [2]) <=> addNum (* new_list)

Аналогично, addNum ( new_list [0], new_list [1]) <=> addNum (* new_list [: 2])

Также, addNum (new_list [0]) <=> addNum (* new_list [: 1])

Используя этот оператор, вы можете добиться этого !!

0 голосов
/ 25 мая 2020

Он напечатает все элементы без необходимости перебирать список. Используемый здесь оператор * распаковывает все элементы из списка.

a = [1,2,3]

print(a) 
# [1,2,3] 

print(*a) 
# 1 2 3

print(*a,sep=",")
# 1,2,3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...