我有一個數字列表,如[1,2,3,4,5...],我想計算(1+2)/2,第二,(2+3)/2第三, (3+4)/2等等。我怎樣才能做到這一點?我想將第一個數字與第二個數字相加并除以2,然后將第二個數字與第三個相加并除以2,依此類推。另外,我如何總結一個數字列表?a = [1, 2, 3, 4, 5, ...]是嗎:b = sum(a)print b得到一個號碼?這對我不起作用。
3 回答

慕桂英4014372
TA貢獻1871條經驗 獲得超13個贊
數字總和:
sum(list_of_nums)
使用列表推導計算n和n - 1的一半(如果我有正確的模式):
[(x + (x - 1)) / 2 for x in list_of_nums]
求和相鄰元素,例如((1 + 2)/ 2)+((2 + 3)/ 2)+ ...使用reduce和lambdas
reduce(lambda x, y: (x + y) / 2, list_of_nums)

忽然笑
TA貢獻1806條經驗 獲得超5個贊
問題2: 總結一個整數列表:
a = [2, 3, 5, 8]
sum(a)
# 18
# or you can do:
sum(i for i in a)
# 18
如果列表包含整數作為字符串:
a = ['5', '6']
# import Decimal: from decimal import Decimal
sum(Decimal(i) for i in a)
添加回答
舉報
0/150
提交
取消