分配到什么都不是编程错误的标志?

时间:2017-07-25 09:23:34

标签: python assignment-operator

我编写了一个完美无缺的程序,除了我收到的反馈是“你把表达分配给了什么”。这是代码:

l = input('Please insert the numbers: ')

numbers = [int(i) for i in l.split(',')]

lower_limit = int(input('Please insert the lower limit: '))
upper_limit = int(input('Please insert the uppper limit: '))

boolean_list = []

for i in numbers:
       boolean_list.append(True) if (i >= lower_limit and i <= upper_limit ) else  
       boolean_list.append(False)    

print(boolean_list)

我可以先初始化boolean_list,然后为其分配逻辑值,但我相信它会比我的第一种方法慢得多(如上所述)。我对编程完全不熟悉所以我不清楚我做错了什么。

1 个答案:

答案 0 :(得分:2)

避免此问题的最佳选择是通过使用列表解析摆脱for循环:

boolean_list = [i >= lower_limit and i <= upper_limit  for i in numbers]

这将使用list comprehensions,这是一种更有效的构建迭代器的方法。