gpt4 book ai didi

python - 使用 zip 和列表理解来创建字典

转载 作者:行者123 更新时间:2023-11-28 20:35:06 24 4
gpt4 key购买 nike

我有两个数组:

a = [0.001,0.01,0.1,1]
h = [2,4,8,16,32,64]

我想创建一个字典,其中字典键是 ah 值的元组,字典值是一个空列表。但是,我需要这样做的方法是让每个唯一的 a 都具有 h 中的每个值,并具有所需的输出:

 d = {(0.001,2):[], (0.001,4):[], (0.001,8):[], (0.001,16):[], (0.001,32):[], (0.001,64):[],
(0.01,2):[], (0.01,4):[], (0.01,8):[], (0.01,16):[], (0.01,32):[], (0.01,64):[],
(0.1,2):[], (0.1,4):[], (0.1,8):[], (0.1,16):[], (0.1,32):[], (0.1,64):[],
(1,2):[], (1,4):[], (1,8):[], (1,16):[], (1,32):[], (1,64):[]}

问题是,像我上面那样手动写出来很乏味。

有没有办法做到这一点,使用 zip 或列表理解?提前致谢

最佳答案

您需要的不是 zip,它不会合并您的列表,而是字典理解中的 itertools.product:

import itertools

a = [0.001,0.01,0.1,1]
h = [2,4,8,16,32,64]

d = {z:[] for z in itertools.product(a,h)}

print(d)

结果:

{(0.01, 2): [], (0.1, 64): [], (0.001, 64): [], (0.01, 64): [], (0.001, 2): [], (1, 4): [], (0.01, 4): [], (1, 64): [], (0.1, 8): [],
(0.01, 8): [], (1, 2): [], (0.1, 32): [], (0.001, 32): [], (0.01, 32): [], (1, 16): [], (0.001, 8): [], (1, 8): [], (0.1, 16): [],
(0.001, 16): [], (0.01, 16): [], (0.001, 4): [], (1, 32): [], (0.1, 4): [], (0.1, 2): []}

关于python - 使用 zip 和列表理解来创建字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47473084/

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