【发布时间】:2019-11-06 07:26:24
【问题描述】:
我正在尝试获取列表和浮动的最小值,我有以下代码但它给出了错误
x=['14.99', '14.99', '15.00', '16.36']
y=21.00
min([float(i) for i in x.append(y)])
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'NoneType' object is not iterable
#x= ['14.99', '14.99', '15.00', '16.36', 21.0] y got appended
但是,如果我这样做(在列表理解之前附加 y)
x=['14.99', '14.99', '15.00', '16.36']
y=21.00
x.append(y)
min([float(i) for i in x])
输出是:14.99 #正确
我怎样才能在一行中做到这一点?
【问题讨论】:
-
list.append()总是返回None,如果这是您所要求的,与大多数其他列表操作方法相同。 -
@MikeScotty 不是 x 可迭代的吗?
-
是的,但这不是重点。您正在尝试迭代
x.append(y)的返回值,即None。 -
@MikeScotty 那么我该如何在一行中做到这一点?