1樓:seis
當然用快速排序咯,名字裡都有「快速」兩個字能不快嗎?
qsort
=lambdax:
qsort([x
[i]foriin
xrange(1
,len(x
))ifx[
i]<=x[
0]])+[
x[0]]
+qsort([x
[i]foriin
xrange(1
,len(x
))ifx[
i]>x[
0]])
iflen(x
)>1else
xassert
qsort([5
,4,3
,2,1
])==[1
,2,3
,4,5]
2樓:NagiS
In[1
]:arr=[
xforxin
range(20
)][::-1
]# 生成倒序 listIn[
2]:print
(arr
)# 列印該 list[19
,18,17
,16,15
,14,13
,12,11
,10,9
,8,7
,6,5
,4,3
,2,1
,0]In
[3]:arr
.sort
()# 使用 list 的內建方法 sort() 進行排序In[4]:
(arr)[
0,1,
2,3,
4,5,
6,7,
8,9,
10,11,
12,13,
14,15,
16,17,
18,19]
In[5]:
arr.
sort
(reverse
=True
)# 傳入引數 reverse=True 進行倒序排序In[6]:
(arr)[
19,18,
17,16,
15,14,
13,12,
11,10,
9,8,
7,6,
5,4,
3,2,
1,0]
這是 Python 中最為簡單高效的方法了此外也可用以下方法In[
7]:arr=
sorted
(arr
)# 使用 sorted() 進行排序 In[8]:
(arr)[
0,1,
2,3,
4,5,
6,7,
8,9,
10,11,
12,13,
14,15,
16,17,
18,19]
In[9]:
arr=
sorted
(arr
,reverse
=True
)# 傳入引數 reverse=True 進行倒序排序In[10]:
(arr)[
19,18,
17,16,
15,14,
13,12,
11,10,
9,8,
7,6,
5,4,
3,2,
1,0]
不同的是:arr.sort() 方法是在原地排序,而 sorted(arr) 則會生成乙個新 list
相同的是:傳入引數 reverse=True 可以進行倒序排序
能否根據DNA編寫程式?
冰室 每乙個計算系統都有它的優點和侷限。用DNA程式設計基本只能實現基於化學性質的analog程式設計,目前我在初步考慮用DNA計算來模擬複雜分子反應,但本質上僅僅是利用DNA化學性質進行的analog計算,這是受計算系統的特點所限制的。如果說有什麼新式的計算系統,除了經典的von neumann式...
乙個新手,怎麼編寫程式,有什麼技巧嗎?
C不就是基礎嗎?科班的不管是啥專業不都要從C學習,還要有什麼基礎?如果你是指高數 計算機組成原理 資料結構 離散數學這些,那我只能說那是給學霸和大牛用的。你現在就先學C吧。我個人的感覺是,先學面向過程,在學物件導向的語言這種流程比較好。比較面向過程還是比較符合一般思維的。其實我覺得程式設計就跟說話似...
電腦編寫程式一般用哪個軟體?
道可道 這個要看實際需求。同時也要看手上有什麼現成的工具。比如我最近遇到乙個事情。親戚家是開超市的,因為在農村,這些年來賣貨結賬都是人力結算。最近想採用會員制,因為看到其他同行超市上了一台裝置,可以刷卡 會員充值 打小票。由於購買一台收銀裝置成本還是挺大的,加上限制還挺多。於是問我有沒有好的辦法。他...