奇怪的事情发生在附加

时间:2015-12-03 03:55:14

标签: python

为什么以下代码等于“无”:

a = [1]
a = a.append(0) if len(a) == 1 else a

这在Python 2和3中都会发生。

2 个答案:

答案 0 :(得分:3)

append()不会返回值。就这样做:

a = [1]
if len(a) == 1:
    a.append(0)

答案 1 :(得分:1)

恰好list.append没有返回列表。它会改变它并且不返回任何内容(None)。

在您的情况下,a = a +[0] if len(a) == 1 else a会起作用。但以下更简单:if len(a) == 1: a.append(0)