我有一个预先创建的整数列表,如果值满足条件,我希望遍历并附加“正”或“负”整数。但是,它在if语句的第一行的'str'和'int'实例之间抛出了“TypeError:”>;“。我以前在获取用户输入时看到过此错误,必须将输入转换为int,但我的列表已经是整数,因此我对需要修复的内容感到困惑。它在if lst[i] > 0:
上抛出了错误
lst = [-2, 1, -2, 7, -8, -5, 0, 5, 10, -6, 7]
for i in lst:
if lst[i] > 0:
lst.append("positive")
elif lst[i] < 0:
lst.append("negative")
else:
lst.append("zero")
溶液
说明
联机代码使用列表理解创建列表
('negative', 'zero', 'positive')
是从中提取字符串的字符串元组[((n > 0) - (n < 0)) + 1]
获取字符串。让我们分解这个:子表达式(se)
(n > 0) - (n < 0)
给出了n的符号(-1如果n<;0,0如果n==0,+1如果n>;0) 注意:Python没有sign
函数然后,如果n<;0,如果n=0,则为1,如果n>;则为2;0.
最后,我们使用这个整数作为字符串元组中的索引
等效代码为:
你应该这样做:
以更快、更干净的方式创建所需内容
返回:
相关问题 更多 >
编程相关推荐