Python: перебирать список, выводить пустой список во второй список, а затем вызывать по порядку - PullRequest
0 голосов
/ 11 февраля 2019

Спасибо, что нашли время, чтобы помочь мне.Все еще новичок, когда дело доходит до Python, но я медленно добираюсь туда.

Предыстория: В основном я переношу конфигурацию из УАТС в файл CSV, чтобы затем выполнить миграцию в другую систему.

Где я застрял: В настоящее время у меня есть список как добавочных номеров, так и конфигурации голосовой почты.Не у каждого телефона есть адрес электронной почты для голосовой почты, поэтому в настоящее время я сравниваю данные, чтобы увидеть, связано ли с текущим добавочным номером электронная почта.Из-за того, как данные экспортируются, я сохраняю все в список, и все это нужно выстроить в очередь.

Что мне нужно сделать: Мне нужны электронные письма для выводаприятно к списку и выровняйте это со списком расширений.Например:

list_extension_email = ['', 'test @ test', '', '', 'test2 @ test']

list_extension_numbers = [«1000», «401», «402», «403», «404»]

Код:

list_extension_voicemail = ['401, test@test', '404, test2@test']
list_extension_numbers = ['1000', '401', '402', '403', '404']
list_extension_email = []
line_variable = 0
blank_voicemails = 0

for extension in list_extension_numbers:
    extension_number = list_extension_numbers[line_variable]
    blank_line = " "
    for extension_voicemail in list_extension_voicemail:
      extension_and_voicemail = extension_voicemail.split(',')
      if extension_and_voicemail[0] in extension_number:
        while blank_voicemails != 0:
          list_extension_email.append(blank_line)
          blank_voicemails-=1
        list_extension_email.append(extension_and_voicemail[1])
        blank_voicemails = 0
      else:
        blank_voicemails+=1


extension_email = list_extension_email[line_variable]

Извинитеесли это очень расплывчато и не описывает, я открыт для любых решений.Еще раз спасибо всем

1 Ответ

0 голосов
/ 11 февраля 2019

Я думаю, что это то, что вы хотите:

list_extension_voicemail = ['401, test@test', '404, test2@test']
list_extension_numbers = ['1000', '401', '402', '403', '404']

# Make list of empty emails
list_extension_email = [''] * len(list_extension_numbers)
# Make a dict that gives you the list index for each number
number_idx = {number: idx for idx, number in enumerate(list_extension_numbers)}
for number_email in list_extension_voicemail:
    # Split by comma
    number, email = number_email.split(',')
    # Remove extra spaces
    number = number.strip()
    email = email.strip()
    # Set email in list if number exists
    if number in number_idx:
        list_extension_email[number_idx[number]] = email

# Print result
print('list_extension_email =', list_extension_email)
print('list_extension_numbers =', list_extension_numbers)

Вывод:

list_extension_email = ['', 'test@test', '', '', 'test2@test']
list_extension_numbers = ['1000', '401', '402', '403', '404']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...