在python之中怎麼編寫程式對給定的一隊整數從小到大排序?

時間 2021-10-17 07:13:37

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]:

print

(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]:

print

(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]:

print

(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]:

print

(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吧。我個人的感覺是,先學面向過程,在學物件導向的語言這種流程比較好。比較面向過程還是比較符合一般思維的。其實我覺得程式設計就跟說話似...

電腦編寫程式一般用哪個軟體?

道可道 這個要看實際需求。同時也要看手上有什麼現成的工具。比如我最近遇到乙個事情。親戚家是開超市的,因為在農村,這些年來賣貨結賬都是人力結算。最近想採用會員制,因為看到其他同行超市上了一台裝置,可以刷卡 會員充值 打小票。由於購買一台收銀裝置成本還是挺大的,加上限制還挺多。於是問我有沒有好的辦法。他...