gpt4 book ai didi

python - 多个 if 语句列表理解

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

晚上好

自从几天前我发现了这种奇妙的编码形式以来,我一直在努力提高列表理解能力。目前我正在尝试使用多个 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)

这就是我到目前为止所做的

    answers = [i for i in keys]:
[answers.append([1, 0, 0, 0]) if i == 1]
[answers.append([0, 1, 0, 0]) if i == 2]
[answers.append([0, 0, 1, 0]) if i == 3]
[answers.append([0, 0, 0, 1]) if i == 1]

该列表包含整数值,我想根据键的值将它们转换为向量。

我有点卡住了,希望能就如何完成这项任务提供一些指导。谢谢。

最佳答案

我们如何将所有 keynewAns 放入一个 dict 中并在您的列表理解中使用它们?

answer_map = {1: [1, 0, 0, 0], 2: [0, 1, 0, 0], 3: ...}
answers = [answer_map[x] if x in answer_map else [0, 0, 0, 1] for x in keys]

更新:

我完全忘记了 dict.get(key, default)(谢谢,@U9-Forward!)。你也可以说:

[answer_map.get(x, [0, 0, 0, 1]) for x in keys]

关于python - 多个 if 语句列表理解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52999620/

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