从Q压缩元组

2024-09-22 16:35:47 发布

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

将这个元组列表转换为更简单的元组列表的Python方式是什么

import urllib.parse
QS='field=var1&save=stringA&field=var2&save=&field=var3&save=stringC'
urllib.parse.parse_qsl(QS, keep_blank_values=True)
>>> [('field', 'var1'), ('save', 'stringA'), ('field', 'var2'), ('save', ''), ('field', 'var3'), ('save', 'stringC')]

Python魔法在这里发生

>>> [('var1', 'stringA'), ('var2', ''), ('var3', 'stringC')]

Tags: importfield列表parsesave方式urllib元组
1条回答
网友
1楼 · 发布于 2024-09-22 16:35:47
>>> data = [('field', 'var1'), ('save', 'stringA'), ('field', 'var2'), ('save', ''), ('field', 'var3'), ('save', 'stringC')]
>>> [(field[1], save[1]) for field, save in zip(*[iter(data)]*2)]
[('var1', 'stringA'), ('var2', ''), ('var3', 'stringC')]

How does ^{} work in Python?

另一种方式:

>>> items = (x[1] for x in data)
>>> list(zip(*[items]*2))
[('var1', 'stringA'), ('var2', ''), ('var3', 'stringC')]

相关问题 更多 >