Python 如何创建一个函数,该函数接受一个列表作为输入,并为大于0.5的每个值返回1,如果小于0.5,则返回0?
我有一个浮动列表,我想将其转换为一个列表,每个值包含1或0,具体取决于它们是否大于某个值 例如:Python 如何创建一个函数,该函数接受一个列表作为输入,并为大于0.5的每个值返回1,如果小于0.5,则返回0?,python,function,boolean-operations,Python,Function,Boolean Operations,我有一个浮动列表,我想将其转换为一个列表,每个值包含1或0,具体取决于它们是否大于某个值 例如: list=[0.4,0.6,0.7,0.3,0.2,0.7,0.8] value=0.5 对于列表中的每个项目,我希望将大于0.5的值更改为1,小于0的值更改为0 我已经试过了,但是一直得到一个非类型的对象,我以后不能在计算中使用它 def fun1(list,value): for i in list: if i >
list=[0.4,0.6,0.7,0.3,0.2,0.7,0.8]
value=0.5
对于列表中的每个项目,我希望将大于0.5的值更改为1,小于0的值更改为0
我已经试过了,但是一直得到一个非类型的对象,我以后不能在计算中使用它
def fun1(list,value):
for i in list:
if i > value
print(int(1))
if i < value
print(int(0))
def fun1(列表,值):
对于列表中的i:
如果i>值
印刷(内部(1))
如果i
我在列表中得到了正确的数字[0,1,1,0,0,1,1];然而,它说这种类型是没有的。我希望它们是列表中的整数值,这样我可以在以后的计算中使用它们。我可能做错了什么?有什么建议吗?这可以很容易地使用。我强烈建议大家阅读并熟悉这个蟒蛇大会 例如:
output = [1 if i >= 0.5 else 0 for i in mylist]
输出:
[0, 1, 1, 0, 0, 1, 1]
以下是我的想法:
my_list=[0.2,23.2,0.5,0.4,1.2,1,23,]
def my_功能(在_列表中):
out_list=[]
对于in_列表中的编号:
如果号码
或者,作为列表理解:
values = [0.4, 0.6, 0.7, 0.3, 0.2, 0.7, 0.8]
result = [int(value > 0.5) for value in values]
0.5怎么样?您可以尝试类似于[1 if i>=0.5,或者0 for i in mylist]
的方法。这是否回答了您的问题?获取NoneType
的原因是您没有返回语句。。你只需要打印值。
if number <= 0.5:
out_list.append(0)
continue
out_list.append(1)
def greater_than(values, target):
result = []
for value in values:
result.append(int(value > target))
return result
values = [0.4, 0.6, 0.7, 0.3, 0.2, 0.7, 0.8]
result = greater_than(values, 0.5)
values = [0.4, 0.6, 0.7, 0.3, 0.2, 0.7, 0.8]
result = [int(value > 0.5) for value in values]