① python怎麼先排序再去頭尾再累加
#n為要操作的列表
n.sort()#排序,升序
#n.sort(reverse = True)#降序
n.pop(0)#去頭
n.pop()#去尾
total = 0 #用來計算總和
for i in range(len(n)):
..#前面的點表示空格
..total += n[i]
#最後的total為列表n總和(*^▽^*)
② Python如何讓一個列表的前幾個數字相加求和 如[1,2,3,4,5],對該列表的前三個數字求和
A=[1,2,3,4,5]
print(sum(A[:3]))
③ python如何將列表裡的數字求和
可以將列表作為參數傳遞給sum函數,比如有列表名為l=[1,4,8,2,6],執行sum(l)即可求得各數字之和21。如下圖所示:
舉個例子
④ 在python中,怎樣計算list的累積和不能用loop或者library的function。
# the basic way
s = 0
for x in range(10):
s += x
# the right way
s = sum(range(10))
# the basic way
s = 1
for x in range(1, 10):
s *= x
# the other way
fromoperator import mul
rece(mul,range(1, 10))
>>> L = [1, 2, 3, 4, 5]
>>> rece(lambda x, y: x + [x[-1]+ y], L, [0])[1:]
[1, 3, 6, 10, 15]
⑤ python列表排序方法
列表的sort方法就是用來進行排序的。
主要就是兩個參數,key,reverse
先說reverse,這個很簡單,就是指出是否進行倒序排序:一般情況下,1排在2的前面,而倒序則相反。
key參數:一般它是一個函數,它接受列表中每一個元素,返回一個可用用於比較的值。
s=[1,2,3,4,5]
s.sort(key=lambda _: _**2%7)
print(s)
輸出的是:[1, 3, 4, 2, 5]
如果看不懂lambda表達式,可以看這一段等價的寫法:
def myfn(x):
....return (x * x) % 7
s=[1,2,3,4,5]
s.sort(key=myfn)
print(s)
輸出的結果是一樣的。
key使用的函數可以是自定義函數也可以pytho內置的函數,或者是某個類或者實例的方法,只要它能接受一個參數,返回一個可比較的值即可。比如這樣:
s=[[1,2,4],[3,3,5],[1,1,1],[5,7,9]]
s.sort(key=max) # 直接使用max函數作為排序依據
print(s)
[[1, 1, 1], [1, 2, 4], [3, 3, 5], [5, 7, 9]]
⑥ Python中,如何給列表排序
Python中給列表排序的方式有很多,可以自己實現,也可以用Python提供的方法
使用Python提供的方法:
列表.sort()
列表.sort(reverse=True)
自己實現:
num_list = [64, 34, 25, 12, 22, 11, 90]
print(num_list)
n = len(num_list)
# 遍歷所有數組元素
for i in range(n):
for j in range(0, n - i - 1):
if num_list[j] > num_list[j + 1]:
num_list[j], num_list[j + 1] = num_list[j + 1], num_list[j]
print(num_list)
代碼發到這邊格式有點亂,有需要的話可以去到黑馬程序員社區。有很多計算機技術的基礎入門和高級進階的內容,源碼什麼的也都有。
⑦ 求問關於python3.3 利用list 和range 功能返回一個累積總和列表
和Fibonacci數列相似?
defcumulative_sum(l):
new_l=[]
new_l.append(l[0])
foroldinl[1:]:
new_l.append(new_l[len(new_l)-1]+old)
returnnew_l
⑧ python列表運算順序
>>print 2 * ['1','3']
['1', '3', '1', '3']
⑨ 如何用python求list中奇數位的元素, 累積和, 還有各數位上的值
1
>>>[0,1,2,3,4,5][1::2]
[1,3,5]
2
>>>fromitertoolsimportaccumulate
>>>list(accumulate([1,1,1]))
[1,2,3]
>>>list(accumulate([1,-1,3]))
[1,0,3]
3
>>>list(map(int,str(123)))
[1,2,3]
⑩ python:如何將列表中的所有項相乘
#-*-coding:utf-8-*-
#py3
'''
用高級函數rece()
'''
fromfunctoolsimportrece
lis=[1,2,3,4,5]
r=rece(lambdax,y:x*y,lis)#對序列lis中元素逐項相乘lambda用法請自行度娘
print(r)
fromfunctoolsimportrece
defadd(x,y):
returnx+y
rece(add,[1,2,3])
#結果是6