在Python中连接键和值时的列表

2024-05-23 22:44:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个要转换为字典的元组列表;如果key为null,则分配键和值以及concat值。你知道吗

array = 
[('Schedule: ', '231xxx'),
 ('Name(s): ', 'K, KEN '),
 (' ', 'K, CHRISTINA '),
 ('Address: ', '5xx 4TH LN ANYTOWN CO 81xxx-'),
 ('Description: ', 'BEG PT FT N OF COR OF SEC TH N 85 DEG 11 MIN'),
 ('  ', 'W 100.00 FT TH N'),
 ('  ', 'S 45 DEG 08 MIN E '),
 ('  ', '194.00 FT TO ')
]

每个项都被编入索引(例如[0][0],[1][0],),需要帮助编写python循环来分配键和值,以及将值串联到一个键中。当值太长时,上面的数组将分配一个空格。如果键为空或null,则需要将值合并为一个值。你知道吗

预期结果是:

dict { ('Schedule: ', '231xxx'),
 ('Name(s): ', 'K, KEN ',  'K, CHRISTINA '),
 ('Address: ', '5xx 4TH LN ANYTOWN CO 81xxx-'),
 ('Description: ', 'BEG PT FT N OF COR OF SEC TH N 85 DEG 11 MIN' W 100.00 FT TH N' S 45 DEG 08 MIN E 194.00 FT TO ')}

Tags: ofnameaddressdescriptionminnullscheduleln
1条回答
网友
1楼 · 发布于 2024-05-23 22:44:31

我不确定我是否正确理解你。此脚本将创建新字典,其中值为列表和非空键:

array = [('Schedule: ', '231xxx'),
 ('Name(s): ', 'K, KEN '),
 (' ', 'K, CHRISTINA '),
 ('Address: ', '5xx 4TH LN ANYTOWN CO 81xxx-'),
 ('Description: ', 'BEG PT FT N OF COR OF SEC TH N 85 DEG 11 MIN'),
 ('  ', 'W 100.00 FT TH N'),
 ('  ', 'S 45 DEG 08 MIN E '),
 ('  ', '194.00 FT TO ')
]

out = {}
last_key = ''
for k, v in array:
    if k.strip():
        last_key = k
    out.setdefault(last_key, []).append(v)


from pprint import pprint
pprint(out)

印刷品:

{'Address:': ['5xx 4TH LN ANYTOWN CO 81xxx-'],
 'Description:': ['BEG PT FT N OF COR OF SEC TH N 85 DEG 11 MIN',
                  'W 100.00 FT TH N',
                  'S 45 DEG 08 MIN E ',
                  '194.00 FT TO '],
 'Name(s):': ['K, KEN ', 'K, CHRISTINA '],
 'Schedule:': ['231xxx']}

相关问题 更多 >