【发布时间】:2015-12-18 09:57:23
【问题描述】:
我正在尝试使用 python 执行以下操作,但我有一个奇怪的行为。假设我有以下列表:
x = [5, 4, 3, 2, 1]
现在,我正在做类似的事情:
x[x >= 3] = 3
这给出了:
x = [5, 3, 3, 2, 1]
为什么只有第二个元素被改变?我期待:
[3, 3, 3, 2, 1]
【问题讨论】:
-
为什么我收到错误
TypeError: unorderable types: list() >= int()? -
@KevinGuan 你用的是python3,Luca用的是python2
-
@NightShadeQueen 那么,为什么 Python 3 不支持这个?
-
@KevinGuan:因为 Python 3 可以防止你犯 Luca 犯的错误,即将列表对象与整数进行比较。
-
每天都会有人问这些问题。答案总是一个列表理解/过滤器,也许人们应该更好地搜索,或者需要一个粘性。我很惊讶每天两次对于同一件事的回答如此之多。
标签: python python-3.x python-2.7 list