感谢您花时间帮助我。谈到 Python 时,我仍然是个菜鸟,但我正在慢慢达到目标。
背景故事:基本上我是将配置从 PBX 传输到 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]
抱歉,如果这非常模糊且没有描述性,我愿意听取任何解决方案。再次感谢大家
最佳答案
我认为这可以满足您的需求:
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']
关于Python:遍历列表,将空白输出到第二个列表,然后按顺序调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54629691/