gpt4 book ai didi

python - 遍历 Python 字典中的值列表

转载 作者:行者123 更新时间:2023-11-28 22:29:52 25 4
gpt4 key购买 nike

您好,我希望遍历一个 Python 字典,其中每个键都有一个值列表,我希望创建一个新的列表/字典,其中我已经分隔了每个值 [x] 或直接使用分隔值进行操作.

这是我的字典的一个简化示例:

all_parameters = {"first": ["1a","1b","1c"], "second": ["2a","2b","2c"], "third": ["3a","3b","3c"]}

我希望像这样分离值(通过创建新字典或列表或直接使用分离值进行操作)。

grouped_parameters = [{"first": "1a", "second": "2a", "third": "3a"},
{"first": "1b", "second": "2b", "third": "3b"},
{"first": "1c", "second": "2c", "third": "3c"}]

我确保如何正确迭代每个键:值对。

i = 0
for k, v in all_parameters.items():
for item in v:
# stuck here
i+=1

最终我要做的“事情”是将每个输出(例如“{"first": "1a", "second": "2a", "third": "3a"}')转换成一个字符串这样我就可以将每个参数组发布到表格中的一个单元格中,所以理想情况下我更愿意动态地执行此操作而不是创建一个新字典。

如有任何帮助,我们将不胜感激。

最佳答案

假设所有列表的长度相同:

>>> length = len(next(all_parameters.itervalues()))
>>> [{k:v[i] for k,v in all_parameters.iteritems()} for i in range(length)]
[{'second': '2a', 'third': '3a', 'first': '1a'}, {'second': '2b', 'third': '3b', 'first': '1b'}, {'second': '2c', 'third': '3c', 'first': '1c'}]

在 Python 3 中,使用 len(next(iter(all_parameters.values())))items 而不是 iteritems

(迭代器恶作剧已经完成,因为如果您只想要任意值列表的长度,则不需要所有字典值的列表。)

关于python - 遍历 Python 字典中的值列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42809471/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com