[英]How to evaluate the sum of list only for few elements
我有列表和 k = 8(最大和)。 我想添加列表中總和等於或小於 k = 8 的元素,並且我只想要添加的元素數量。
我嘗試過的:
lst = [1,2,3,4,7,9,12]
final = []
sum = 0
for i in range(len(lst)):
if sum < 8:
sum = sum +i
final.append(i)
print(final)
該列表已排序。 它可能未按用戶輸入排序。 首先,我將對列表進行排序。 然后我將檢查條件並一一添加並僅附加那些元素。
由於此代碼沒有按照我的意願提供正確的輸出,我該怎么辦?
正如 Aravind 所說。 i
是索引而不是值
lst = [1,2,3,4,7,9,12]
final = []
sum = 0
for item in lst:
if sum < 8:
sum = sum +item
final.append(item)
print(final)
並且根據 Ram。你不應該使用sum
作為變量。是 python 中的一個關鍵字。
從我從你的問題中了解到的。
您將獲得一個元素列表(不一定已排序)和一個值
k
。 您必須返回總和小於或等於k
的列表項。
這是代碼
lst = [1,2,3,4,7,9,12]
lst.sort()
final = []
sums = 0
k = 10
for i in lst:
if sums + i <= k:
sums = sums + i
final.append(i)
print(final)
# Output
final = [1, 2, 3, 4]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.