我是 python 的新手,我看到了这种为列表赋值的形式
color= ['red' if v == 0 else 'green' for v in y]
但是如果我尝试用 3 个数字来做,例如
color= ['red' if v == 0 elif v == 1 'blue' else 'green' for v in y]
这可能吗,还是我必须这样做:
color = ['none']*len(y)
for i in range(0,len(color)):
if y[i] == 0:
color[i] = 'red'
elif y[i] == 1:
color[i] = 'blue'
else:
color[i] = 'green'
因为这种形式不如另一种好写。 谢谢。
请您参考如下方法:
您可以改用字典。
如果您可以用更多细节重组您的问题,我认为答案会更有意义!
colors = {
0: 'red',
1: 'blue'
}
color = [colors.get(v, 'green') for v in y]
Dictionary 类有一个名为 .get() 的内置函数,它接受一个键和一个默认值(如果找不到该键)。 colors.get(v, 'green') 转换为:给我字典 colors 中键 v 的值,但是如果没有找到,给我 'green'。
