python理解与dict转换为don';不要使用理解
此源代码是python中的use CONTRUSEpython理解与dict转换为don';不要使用理解,python,compression,Python,Compression,此源代码是python中的use CONTRUSE hidden_layer = [{'weights':[random() for i in range (3)]} for i in range(1)] 所以我转换为不使用理解表达式,下面是我转换的源代码 随机导入 对于范围(3)中的i: 对于范围(1)中的i: 隐藏层={'weights':random()} 但它在字典中只有一个值 我遗漏了什么?来自random import random 隐藏的_层=[] 对于范围(1)中的i: 权重
hidden_layer = [{'weights':[random() for i in range (3)]} for i in range(1)]
所以我转换为不使用理解表达式,下面是我转换的源代码
随机导入
对于范围(3)中的i:
对于范围(1)中的i:
隐藏层={'weights':random()}
但它在字典中只有一个值
我遗漏了什么?来自random import random
隐藏的_层=[]
对于范围(1)中的i:
权重=[]
对于范围(3)内的j:
weights.append(random())
隐藏层。追加({'weights':weights})
打印(隐藏层)
输出:
[{'weights': [0.4708113985288851, 0.861100368435909, 0.7732951090293462]}]
对我来说,打开列表压缩的一个个人技巧是始终从最外层开始到内层 要使用代码进行演示,请执行以下操作:
from random import random
hidden_layer = [{'weights':[random() for i in range (3)]} for i in range(1)]
print(hidden_layer)
正如我们看到的,最外层是一个列表,我会首先初始化一个列表,然后一个接一个地推进内部理解
from random import random
hidden_layer = []
for i in range(1):
hidden_layer.append({'weights':[random() for i in range (3)]})
print(hidden_layer)
接下来,我们可以进一步展开内层,诀窍是在嵌套理解中将索引标识为相同的索引不会中断循环,但在正常的for循环中肯定会中断
from random import random
hidden_layer = []
for i in range(1):
new_dict = {'weights': []}
for j in range (3): # remember to use different index variable
new_dict['weights'].append(random())
hidden_layer.append(new_dict)
print(hidden_layer)
我们走了 很高兴向我解释关于压缩的问题,谢谢你的回答:)很高兴它有帮助!如果您能将其标记为已接受,将不胜感激。