晚上好
自从几天前我发现这种奇妙的编码形式以来,我一直在努力提高列表理解能力。目前我正在尝试用多个if语句来理解列表。这是我试图重写的代码(供您理解)
for i in range(len(keys)):
key = keys[i]
if key == 1:
newAns = [1, 0, 0, 0]
answers.append(newAns)
elif key == 2:
newAns = [0, 1, 0, 0]
answers.append(newAns)
elif key == 3:
newAns = [0, 0, 1, 0]
answers.append(newAns)
else:
newAns = [0, 0, 0, 1]
answers.append(newAns)
这就是我目前所做的
^{pr2}$这个列表包含int的值,我想根据键的值将它们转换为向量。在
我有点卡住了,希望能在如何完成这项任务方面得到一些指导。非常感谢。在
除了@UltrInstinct的答案,请
get
不做if语句:现在:
^{pr2}$如你所愿。在
如果你想要一个荒谬的单行线,你可以使用嵌套的三元表达式。在
但是,最好将逻辑包装在函数中,并在列表理解中调用该函数:
^{pr2}$在本例中,
dict
也很好地工作,如其他答案所示。一般来说,不要试图把一堆东西塞进一个单子里去理解。在我们把所有的
key
和newAns
放在dict
中,并在你的列表理解中使用它们怎么样?在更新:
我完全忘了
^{pr2}$dict.get(key, default)
(谢谢,@U9转发!)。你也可以说:相关问题 更多 >
编程相关推荐