Python - ошибка обработки списка IP-адресов в виде списка строк, когда один элемент IP - PullRequest
0 голосов
/ 27 июня 2018

Я пытаюсь управлять списком IP-адресов в виде строк и печатать их как:

iplist = ("192.168.1.1", "192.168.1.2",...)
for ip in iplist:
  print ip

в результате:

192.168.1.1
192.168.1.2
....

Если список содержит более одного элемента, он работает, но если список содержит один элемент, он использует один ip, как список символов строки, и выдает:

1
9
2
. 
1
....

Как я могу решить эту проблему простым способом?

1 Ответ

0 голосов
/ 27 июня 2018

То, что у вас есть, это не список IP-адресов, а кортеж.

В случае одноэлементного кортежа добавление запятой решает вашу проблему.

iplist = ("192.168.1.1",)
for ip in iplist:
    print ip

Преобразование его в список также устраняет проблему.

iplist = ["192.168.1.1"]
for ip in iplist:
    print ip

Важное различие между списком и кортежем заключается в том, что к спискам можно добавлять, а кортежи неизменны.

Обычно лучше использовать списки для данных, которые можно добавлять (например, список IP-адресов), и резервировать кортежи для структурированных данных (например, координаты x-y).

...