Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python简单if-else结构错误比较_Python_Python 2.7_If Statement - Fatal编程技术网

python简单if-else结构错误比较

python简单if-else结构错误比较,python,python-2.7,if-statement,Python,Python 2.7,If Statement,这是我的密码 for i,val in enumerate(DS3Y_pred_trans): if val < 1.5: DS3Y_pred_trans[i] = 1 else: DS3Y_pred_trans[i] = 2 你的值不是数字。在Python2中,数字优先于其他对象排序,因此当比较val与1.5时,比较总是错误的 您可能有字符串: >>'1.0'>> 1.0 < 1.5 真的 如果是,请先将值转换为浮点: for i, v

这是我的密码

for i,val in enumerate(DS3Y_pred_trans):
    if val < 1.5:
        DS3Y_pred_trans[i] = 1
    else:
        DS3Y_pred_trans[i] = 2
你的值不是数字。在Python2中,数字优先于其他对象排序,因此当比较
val
1.5
时,比较总是错误的

您可能有字符串:

>>'1.0'<1.5
假的
>>> 1.0 < 1.5
真的
如果是,请先将值转换为浮点:

for i, val in enumerate(DS3Y_pred_trans):
    if float(val) < 1.5:
        DS3Y_pred_trans[i] = 1
    else:
        DS3Y_pred_trans[i] = 2
枚举(DS3Y_pred_trans)中i、val的
:
如果浮动(val)<1.5:
DS3Y_pred_trans[i]=1
其他:
DS3Y_pred_trans[i]=2
可能是您仍在列表中存储其他对象;您需要仔细查看列表中的实际内容,并相应地调整代码,或者首先确定列表的创建方式

由于要替换所有值,因此可以使用列表:

DS3Y_pred_trans = [1 if float(val) < 1.5 else 2 for val in DS3Y_pred_trans]
DS3Y_pred_trans=[1如果浮点值(val)<1.5,则DS3Y_pred_trans中的val为2]
您的值不是数字。在Python2中,数字优先于其他对象排序,因此当比较
val
1.5
时,比较总是错误的

您可能有字符串:

>>'1.0'<1.5
假的
>>> 1.0 < 1.5
真的
如果是,请先将值转换为浮点:

for i, val in enumerate(DS3Y_pred_trans):
    if float(val) < 1.5:
        DS3Y_pred_trans[i] = 1
    else:
        DS3Y_pred_trans[i] = 2
枚举(DS3Y_pred_trans)中i、val的
:
如果浮动(val)<1.5:
DS3Y_pred_trans[i]=1
其他:
DS3Y_pred_trans[i]=2
可能是您仍在列表中存储其他对象;您需要仔细查看列表中的实际内容,并相应地调整代码,或者首先确定列表的创建方式

由于要替换所有值,因此可以使用列表:

DS3Y_pred_trans = [1 if float(val) < 1.5 else 2 for val in DS3Y_pred_trans]
DS3Y_pred_trans=[1如果浮点值(val)<1.5,则DS3Y_pred_trans中的val为2]


无法复制,例如使用
DS3Y\u pred\u trans=[0,0.5,1,1.5,2,2.5,3]
这对我来说很好。您在DS3Y\u pred\u trans中有什么?几乎可以肯定,您的值是字符串,而不是数字。在Python2中,数字在字符串之前排序,因此
val<1.5
总是会为false。如何检查它们是字符串还是数字?很抱歉,我是python新手。@user2871856:请提供打印DS3Y_pred_trans的输出;字符串将被表示为Python字符串文本,例如带引号的字符串。@user2871856:那么列表中就有numpy数组;每个元素都是另一个类似列表的对象。您是如何构建此结构的?无法复制,例如使用
DS3Y\u pred\u trans=[0,0.5,1,1.5,2,2.5,3]
这对我来说很好。您在DS3Y\u pred\u trans中有什么?几乎可以肯定,您的值是字符串,而不是数字。在Python2中,数字在字符串之前排序,因此
val<1.5
总是会为false。如何检查它们是字符串还是数字?很抱歉,我是python新手。@user2871856:请提供打印DS3Y_pred_trans的输出;字符串将被表示为Python字符串文本,例如带引号的字符串。@user2871856:那么列表中就有numpy数组;每个元素都是另一个类似列表的对象。你是如何建立这个结构的?你不需要提供一个糟糕/错误的答案就可以被否决。@PadraicCunningham:我很清楚这一点;但大多数人投票通常可以激发他们的动机,如果他们愿意的话,我很想听听他们的理由。显然,他们觉得我的回答在某种程度上没有帮助。根据OP的最新评论,似乎我们必须与
val[0]
(或
val[0][0]
-我看不太清楚)。它的输入错误。。float()参数必须是字符串或数字。@user2871856:另外,在将来,您应该从一开始就包含该示例,以便我们清晰地再现您的问题。我不得不根据有限的信息进行猜测,现在我们就你到底拥有什么进行了大量的反反复复。你不需要提供一个糟糕/错误的答案就可以被否决。@PadraicCunningham:我很清楚这一点;但大多数人投票通常可以激发他们的动机,如果他们愿意的话,我很想听听他们的理由。显然,他们觉得我的回答在某种程度上没有帮助。根据OP的最新评论,似乎我们必须与
val[0]
(或
val[0][0]
-我看不太清楚)。它的输入错误。。float()参数必须是字符串或数字。@user2871856:另外,在将来,您应该从一开始就包含该示例,以便我们清晰地再现您的问题。我不得不根据有限的信息进行猜测,现在,我们终于得到了关于你到底拥有什么的大量信息。