[英]appending to list in list comprehension
我正在嘗試獲取列表和浮點數的最小值,我有以下代碼,但它給出了錯誤
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#正確
我怎樣才能做到這一點?
嘗試這個
min(y, min([float(i) for i in x]))
或者這更可讀
min(y, min(map(float, x)))
基本上,您將float y與列表中的最小值進行比較。
我認為這很丑陋,但您可以這樣做:
min([float(i) for i in x+[y])])
x=['14.99', '14.99', '15.00', '16.36']
y=21.00
min(float(x) for x in x+[y])
這會將y
作為列表連接到x
列表,然后找到所有列表中的最小值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.