gpt4 book ai didi

python - 遍历字典

转载 作者:行者123 更新时间:2023-12-01 01:08:47 25 4
gpt4 key购买 nike

我有一个包含 3 个列表的字典,每个列表包含 3 个元素,并且想要分别更改每个列表中的每个元素,从而生成 9 个新字典:

d = {1:[a,b,c], 2:[e,f,g], 3:[h,i,j]}
d1 = {1:[a+k,b,c], 2:[e,f,g], 3:[h,i,j]}
d2 = {1:[a, b+k, c], 2:[e,f,g], 3:[h,i,j]}
...
d9 = {{1:[a,b,c], 2:[e,f,g], 3:[h,i,j+k]}

有没有一种方法可以做到这一点,而无需单独对每个字典进行硬编码?在代码中,我需要分别引用列表集(即我将 [a,b,c+k]、[d,e,f]、[g,h,i] 输入到某个函数中以获得解决方案),但我很高兴数据不是字典形式,只要我以后仍然可以引用它们的集合!

最佳答案

您可以使用列表推导式迭代从 0 到 8 的数字,并使用字典推导式生成列表的字典,该词典推导式输出列表项,并根据 3 的商和余数添加可能的 k数量:

[{k: [a + ('k' if n // 3 + 1 == k and n % 3 == i else '') for i, a in enumerate(l)] for k, l in d.items()} for n in range(9)]

因此给定:

d = {1:['a','b','c'], 2:['e','f','g'], 3:['h','i','j']}

返回:

[{1: ['ak', 'b', 'c'], 2: ['e', 'f', 'g'], 3: ['h', 'i', 'j']},
{1: ['a', 'bk', 'c'], 2: ['e', 'f', 'g'], 3: ['h', 'i', 'j']},
{1: ['a', 'b', 'ck'], 2: ['e', 'f', 'g'], 3: ['h', 'i', 'j']},
{1: ['a', 'b', 'c'], 2: ['ek', 'f', 'g'], 3: ['h', 'i', 'j']},
{1: ['a', 'b', 'c'], 2: ['e', 'fk', 'g'], 3: ['h', 'i', 'j']},
{1: ['a', 'b', 'c'], 2: ['e', 'f', 'gk'], 3: ['h', 'i', 'j']},
{1: ['a', 'b', 'c'], 2: ['e', 'f', 'g'], 3: ['hk', 'i', 'j']},
{1: ['a', 'b', 'c'], 2: ['e', 'f', 'g'], 3: ['h', 'ik', 'j']},
{1: ['a', 'b', 'c'], 2: ['e', 'f', 'g'], 3: ['h', 'i', 'jk']}]

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

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