Почему мне нужно 2 пары скобок, чтобы объявить список номеров - PullRequest
0 голосов
/ 14 ноября 2018

может показаться глупым, но я знаю, что если я хочу объявить список, я могу сделать это следующим образом:

list1 = list("Hello")

Но почему мне нужно 2 набора скобок, чтобы объявить его для чисел:

list2 = list((2,3,4,5))

Ответы [ 3 ]

0 голосов
/ 14 ноября 2018

В первом случае вы вызываете list () на str, который неявно может преобразовать в последовательность символов.Если вы присмотритесь к целым числам, вы вызываете list () для набора целых чисел.

Не уверен, что вы исследуете, но самый прямой способ сделать это - list2 = [2,3,4,5]

0 голосов
/ 14 ноября 2018

list () создает список из Iterable. В ваших примерах строка является итеративной (последовательность символов, как указывали люди), а кортеж также является итеративным (с использованием круглых скобок).

В вашем примере вы передаете кортеж функции list().

Вы можете пропустить, используя встроенную функцию list() и создать список напрямую, используя квадратные скобки:

mylist = [1,2,3]
0 голосов
/ 14 ноября 2018

Состояние документов :

list()  Convert an iterable (tuple, string, set, dictionary) to a list.

Функция list принимает только одиночный итеративный аргумент; list(1,2,3,4) будет TypeError. Поскольку строка является итеративной в Python, это правильный вызов функции. Чтобы использовать ваши целые числа, вам нужно преобразовать их в какую-то форму итерации

Написав list2 = list((2,3,4,5)), вы преобразуете целые числа в кортеж, который можно повторять.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...