[英]Check if all values of a list are less than a certain number, if not set it to that number
我在python中有一個列表,我想確保列表中的所有值都大於某個值。 如果不是,那么我想將其設置為該值。
例如:讓我們假設列表是
a = [1,2,3,4]
而要比較的值是3。所以我希望列表成為
a = [3,3,3,4]
我可以通過遍歷列表中的所有元素來做到這一點。 有更好的方法嗎?
您可以使用簡單的條件表達式和列表理解來重建列表,如下所示
a = [1, 2, 3, 4]
print [item if item > 3 else 3 for item in a]
# [3, 3, 3, 4]
對於每一個item
在a
,它會檢查是否它是大於3
,然后使用item
,因為它是否則使用3
。
這與以下類似,但非常有效,
result = []
for item in a:
if item > 3:
result.append(item)
else:
result.append(3)
但是請記住,列表理解會創建一個新列表。 因此,您可能必須要做
a = [item if item > 3 else 3 for item in a]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.