Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:遍历列表,将空白输出到第二个列表,然后按顺序调用_Python_List - Fatal编程技术网

Python:遍历列表,将空白输出到第二个列表,然后按顺序调用

Python:遍历列表,将空白输出到第二个列表,然后按顺序调用,python,list,Python,List,谢谢你抽出时间来帮我。说到Python,我仍然是个傻瓜,但我正在慢慢地做到这一点 后台故事:基本上,我将配置从PBX传输到CSV文件,然后迁移到另一个系统 我陷入困境的地方:目前我有一个分机号码和语音邮件配置的列表。不是每部手机都有语音邮件电子邮件地址,所以我现在做的是比较数据,看看当前分机是否有相关的电子邮件。由于数据的导出方式,我将所有内容都存储到一个列表中,所有内容都需要对齐 我需要它做什么:我需要将电子邮件很好地输出到列表中,并将其与扩展列表对齐。例如: 列表\扩展\电子邮件=['','

谢谢你抽出时间来帮我。说到Python,我仍然是个傻瓜,但我正在慢慢地做到这一点

后台故事:基本上,我将配置从PBX传输到CSV文件,然后迁移到另一个系统

我陷入困境的地方:目前我有一个分机号码和语音邮件配置的列表。不是每部手机都有语音邮件电子邮件地址,所以我现在做的是比较数据,看看当前分机是否有相关的电子邮件。由于数据的导出方式,我将所有内容都存储到一个列表中,所有内容都需要对齐

我需要它做什么:我需要将电子邮件很好地输出到列表中,并将其与扩展列表对齐。例如:

列表\扩展\电子邮件=['','test@test', ' ', ' ', 'test2@test“]

列表扩展号=['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']
列表扩展号=['1000'、'401'、'402'、'403'、'404']

我不太明白你想要什么,你能给出一个输入和输出的例子吗?@user5173426,想要的输出是:list\u extension\u voicemail=['401,test@test', '404, test2@test“]list_extension_number=['1000'、'401'、'402'、'403'、'404']进入:list_extension_email=['','test@test', ' ', ' ', 'test2@test']list_extension_numbers=['1000','401','402','403','404']@Nullman,示例输入包含在代码的前两行中,示例输出包含在“我需要它做什么”下,如果您需要进一步解释,请告诉我在玩弄它之后,它似乎可以工作了!虽然我有点不确定某些代码的作用,但您愿意解释一下吗?具体来说:number_idx={number:idx for idx,枚举中的数字(列表扩展名)}&list扩展名电子邮件[number_idx[number]]=email@Trap如果您还没有使用Python中的
dict
对象和理解的经验,请阅读一些关于该语言的书籍/教程/课程,因为这些都是非常基本的元素,你需要经常看到。在本例中,
number\u idx
是一种结构,对于
list\u extension\u numbers
中的每个字符串,它在列表中为您提供索引
number\u idx[number]
将为您从拆分字符串中获得的号码提供索引,因此
list\u extension\u email[number\u idx[number]]=email
将在
list\u extension\u email
中的索引中的值设置为提取的电子邮件。