成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Python數(shù)據(jù)結(jié)構(gòu)與算法—維護有序列表bisect

開發(fā) 后端 算法
bisect實現(xiàn)了一個算法來向列表中插入元素,同時仍保持列表有序。本篇,將詳細介紹bisect庫高效率的玩轉(zhuǎn)列表。

[[402075]]

前言

bisect實現(xiàn)了一個算法來向列表中插入元素,同時仍保持列表有序。

本篇,將詳細介紹bisect庫高效率的玩轉(zhuǎn)列表。

有序插入

首先,我們來看看bisect庫是如何實現(xiàn)列表的插入的。具體代碼如下所示:

  1. import bisect 
  2.  
  3. a = [7, 5, 4, 1, 9, 8, 2, 3, 6, 0, 5] 
  4. print(a) 
  5. new_a = [] 
  6. for i in a: 
  7.     position = bisect.bisect(new_a, i) 
  8.     bisect.insort(new_a, i) 
  9.     print(position, new_a) 

 運行之后,效果如下:

可以看到,bisect會自動排序進行插入,position為插入的索引位置。當然,對于此類插入如果直接構(gòu)建列表,然后排序,可能速度更快。不過這只僅僅對于短列表而言非常的快,對于非常長的列表而言,使用上面這種插入排序方式可以大大節(jié)省時間和內(nèi)存,尤其是比較兩個列表成員的操作需要開銷很大的計算量時。

重復值處理

在實際的列表處理中,我們可能處理重復的值。如前文所示,多余的5是默認插入到重復值右邊的,也就是說相當于使用insort_right()函數(shù)。同理,那么左邊我們就可以用insort_left()函數(shù)。

  1. import bisect 
  2.  
  3. a = [7, 5, 4, 1, 9, 8, 2, 3, 6, 0, 5] 
  4. print(a) 
  5. new_a = [] 
  6. for i in a: 
  7.     position = bisect.bisect_left(new_a, i) 
  8.     bisect.insort_left(new_a, i) 
  9.     print(position, new_a) 

 運行之后,效果如下:

讀者可以對比一下上面兩個圖片,最后一行的索引變化。可以看到,一個是6,一個是5,因為我們主動變更,把重復值默認插入到左邊了。

 

責任編輯:姜華 來源: 今日頭條
相關推薦

2020-10-21 14:57:04

數(shù)據(jù)結(jié)構(gòu)算法圖形

2023-03-08 08:03:09

數(shù)據(jù)結(jié)構(gòu)算法歸并排序

2023-10-27 07:04:20

2023-09-25 12:23:18

Python

2023-03-07 08:02:07

數(shù)據(jù)結(jié)構(gòu)算法數(shù)列

2023-03-10 08:07:39

數(shù)據(jù)結(jié)構(gòu)算法計數(shù)排序

2023-03-02 08:15:13

2023-04-27 09:13:20

排序算法數(shù)據(jù)結(jié)構(gòu)

2023-02-08 07:52:36

跳躍表數(shù)據(jù)結(jié)構(gòu)

2023-10-30 08:31:42

數(shù)據(jù)結(jié)構(gòu)算法

2023-03-13 10:08:31

數(shù)據(jù)結(jié)構(gòu)算法

2023-11-06 06:43:23

單鏈表查詢數(shù)據(jù)結(jié)構(gòu)

2017-08-31 09:45:43

JavaArrayList數(shù)據(jù)

2023-09-15 10:33:41

算法數(shù)據(jù)結(jié)構(gòu)

2021-05-12 09:07:09

Java數(shù)據(jù)結(jié)構(gòu)算法

2021-06-11 06:10:09

Python數(shù)據(jù)結(jié)構(gòu)算法

2020-10-30 09:56:59

Trie樹之美

2021-03-09 06:30:32

JAVA數(shù)據(jù)結(jié)構(gòu)算法

2021-03-18 08:44:20

Java數(shù)據(jù)結(jié)構(gòu)算法

2022-09-21 07:57:33

二叉搜索樹排序二叉樹
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲精品一区二区二区 | 国产传媒 | 亚洲综合大片69999 | 日韩一区二区三区四区五区六区 | h视频免费观看 | 精品99久久久久久 | 国产精品久久九九 | 国产一区二区久久久 | 日韩午夜 | 在线a视频网站 | 一区二区三区视频 | 日韩美女一区二区三区在线观看 | 国产午夜精品久久久 | 天天操狠狠操 | 久久精品一区 | 天天干天天谢 | 色精品 | 视频一区二区在线观看 | 国产精品123区 | 久久久久国产精品 | 亚洲一区二区在线播放 | 久久综合av | 日屁网站| 99精品观看 | 亚洲视频a| 欧美一区二区三区四区视频 | 欧美日韩成人影院 | 91在线精品一区二区 | 一区二区三区在线播放 | 国产一区二区精品 | 麻豆hd| 国产一级免费视频 | 日韩精品一区在线 | 精品久久久一区二区 | 九九天堂网 | 婷婷在线免费 | 精品国产乱码一区二区三 | 婷婷丁香在线视频 | 精品一区二区久久久久久久网站 | 欧美成人在线网站 | 91视在线国内在线播放酒店 |