基于Python中列表中的值返回字符串值

基于Python中列表中的值返回字符串值,python,list,conditional,Python,List,Conditional,生成0和1的随机列表后 决策=[0,0,1,1,1,0,0,1,0,0,0,0,1,1,0] 我想生成另一个列表,该列表返回决策中的“通过”值为1,如果值为0,则返回“失败” ['fail', 'fail', 'pass', 'pass', 'pass', 'fail', 'fail', 'pass',....'fail'] 我试着用 newlist = ["pass" for k in decision if k == 0] 但如果k==1,我想不出一种方法来积分其他条件 请帮忙 在理解

生成0和1的随机列表后

决策=[0,0,1,1,1,0,0,1,0,0,0,0,1,1,0]

我想生成另一个列表,该列表返回决策中的“通过”值为1,如果值为0,则返回“失败”

['fail', 'fail', 'pass', 'pass', 'pass', 'fail', 'fail', 'pass',....'fail']
我试着用

newlist = ["pass" for k in decision if k == 0] 
但如果k==1,我想不出一种方法来积分其他条件


请帮忙

在理解的值部分使用条件

newlist = ["pass" if k == 1 else "fail" for k in decision]
或者,如果有更多值,请创建字典:

res_dict = {
    0  : "Equal",
    1  : "Higher",
    -1 : "Lower",
}

newlist = [res_dict.get(x) for x in decision]

在理解的值部分使用条件

newlist = ["pass" if k == 1 else "fail" for k in decision]
或者,如果有更多值,请创建字典:

res_dict = {
    0  : "Equal",
    1  : "Higher",
    -1 : "Lower",
}

newlist = [res_dict.get(x) for x in decision]
它不需要理解,但会起作用。希望这有帮助。 更快的选择是:

otherlist = []
for element in mylist:
    if element == 0:
        otherlist.append("fail")
    else:
        otherlist.append("pass")
您还可以允许0表示False,1s表示True

它不需要理解,但会起作用。希望这有帮助。 更快的选择是:

otherlist = []
for element in mylist:
    if element == 0:
        otherlist.append("fail")
    else:
        otherlist.append("pass")
您还可以允许0表示False,1s表示True


我知道我的答案不是你想要的,但我相信如果你只使用真或假,答案会更容易。代码如下:

decision = [0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0]
result = [d == 1 for d in decision] # // So 1 will be True and 0 will be False

我知道我的答案不是你想要的,但我相信如果你只使用真或假,答案会更容易。代码如下:

decision = [0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0]
result = [d == 1 for d in decision] # // So 1 will be True and 0 will be False