皈依舞
至于说在这里,你不能在一个外壳线使用多个语句。为每个语句使用新行listOrigin = [10, -15, 3, 8, 0, 9, -6, 13, -1, 5]listMask = []for item in listOrigin: if item > 0: listMask.append(1) elif item < 0: listMask.append(-1) else: listMask.append(0)print(listOrigin)print(listMask)[10, -15, 3, 8, 0, 9, -6, 13, -1, 5][1, -1, 1, 1, 0, 1, -1, 1, -1, 1]
慕仙森
我只在这里假设。如果这是您的代码:listOrigin = [10, -15, 3, 8, 0, 9, -6, 13, -1, 5]listMask = []for item in listOrigin: if item > 0: listMask.append(1) elif item < 0: listMask.append(-1) else: listMask.append(0)print(listOrigin)print(listMask)那么它的工作原理。您需要对语句使用多行。但是,您也可以这样编写代码:listOrigin = [10, -15, 3, 8, 0, 9, -6, 13, -1, 5]# Place a 1 if the item is above 0, else a -1. 0 will be flagged as -1.listMask = [1 if elt > 0 else -1 for elt in listOrigin]# Place the 0listMask = [listMask[k] if elt != 0 else 0 for k, elt in enumerate(listOrigin)]