首页 > 解决方案 > Python - 将数组格式化为带有参考编号的列表

问题描述

我正在学习python,我有下一个问题,找不到任何解决方案,你能帮帮我吗?

我有 2 个变量:

“reference”是“names”数组中每个成员的 id。“names”是一个名称用逗号分隔的数组,在同一个数组中我有一个出生日期。

def printSubjects(bin_to_id):
    for reference, names in bin_to_id.items():
        namelist = str(names)
        print(reference, namelist)

结果是这样的:

28705 ([Jonh Daves, George Denis, Alan Denis], ['1988-03-13', '1989-03-04'])
28995 ([Ophelia James, David Daves, Alex Jonson], ['1998-03-15'])

但我需要使用以下格式print()

28705|Jonh Daves|1988-03-13
28705|Jonh Daves|1989-03-04
28705|Alan Denis|1989-03-04
28705|Alan Denis|1988-03-13
28705|George Denis|1989-03-04
28705|George Denis|1988-03-13
28995|Ophelia James|1998-03-15
28995|David Daves|1998-03-15
28995|Alex Jonson|1998-03-15

有人可以帮助我或给我一个想法如何做到这一点?

我感谢您的帮助。

问候

标签: pythonarrayslistprintingformat

解决方案


它有效!!!,但现在我对没有日期的值有疑问,例如:

 1234 ([Jonh, Paul, Richard] , [])  

这些记录从输出中消失,如何使用它们?

Output: 

1234|Jon|None
1234|Paul|None
1234|Richard|None

or:

1234|Jon|
1234|Paul|
1234|Richard|

谢谢!!!

更新:

def printSubjects(bin_to_id):
    for reference, names in bin_to_id.items():
        names, dates = names
        if not dates: # For values null or empy assign a 'None' Value
            dates = ['None']
        for name in names:
            for date in dates:
                print(reference, name, date)
                with open('List.txt', 'a') as file: # Write the output into a txt file with the following format.
                    print(reference, "|", name, "|", date, file=file)

谢谢!


推荐阅读