1. 程式人生 > >python 字典和列表的讀取速度問題

python 字典和列表的讀取速度問題

最近在進行基因組資料處理的時候,需要讀取較大資料(2.7G)存入字典中,然後對被處理資料進行字典key值的匹配,在被處理檔案中每次讀取一行進行處理後查詢是否在字典的keys中,以下兩段程式碼的效率差別非常大:

第一段:

if(pos in fre_dist.keys()):
newvalue= fre_dist[pos]

第二段:

if(pos in fre_dist):
newValue=fre_dist[pos]

在處理3萬條資料時,第二段程式碼的速度是第一段程式碼速度的上千倍。

原因是:第一段程式碼 fre_dist.keys()變成了list,python在檢索list的時候是比較慢的,第二段程式碼 fre_dist是字典,python在檢索字典的時候速度是比較快的。

血的教訓。

相關推薦

python 字典列表讀取速度問題

最近在進行基因組資料處理的時候,需要讀取較大資料(2.7G)存入字典中,然後對被處理資料進行字典key值的匹配,在被處理檔案中每次讀取一行進行處理後查詢是否在字典的keys中,以下兩段程式碼的效率差別非常大: 第一段: if(pos in fre_dist.keys()):

python的裏字典列表

創建 裏的 指定 ems 可能 .com 鍵值 pop new 字典dict 創建字典的2種方法 dic={‘k1‘:‘v1‘,‘k2‘:‘v2‘} #方法一 dic=dict(k1=‘v1‘,k2=‘v2‘) #方法二,兩個相等 提

python接口自動化,接口參數存在字典列表嵌套的問題

數字 返回 alt log 錯誤 value 接口自動化 需要 pytho 1.如下圖,服務端一直返回參數格式錯誤,但一直沒找到原因 2.第二天偶然發現是因為少了引號,在python字典中,value的值一定需要引號(除了數字) 3.0000直接寫會被識別成0,需要

Python sorted對字典列表進行排序

1. 按鍵值對對字典進行排序sorted(iterable,key,reverse),sorted一共有iterable,key,reverse這三個引數。    其中iterable表示可以迭代的物件,例如可以是dict.items()、dict.keys()等,key是一

python 字典列表json物件互轉

json.dumps(): 對json進行編碼,對應PHP的json_encode()json.loads(): 對json進行解碼,對應php的json_decode() 將python字典轉換為json物件 data = {       'id' : 1,      

django 默認模板字典列表的寫法

bsp 列表 list end 默認 lists 表示 pre 輸出 在 view.py 裏輸出數據,字典裏的key 是 列表的形式 data["read_lists"]=[1,2,3]在模板裏這麽寫 {% for k in data.read_lists.1 %} {%

python--字典集合

all true dict err 嵌套 emp 操作 style trace 字典 字典一種key - value 的數據類型 語法: info={ ‘01‘:‘Tom‘, ‘02‘:‘Jim‘, ‘03‘:‘Lucy‘, ‘04

python字典集合(數組)

是否 復制 deep copy get port print pos [1] 字典 info = { ‘a‘: 123, ‘b‘: "xxx" } # 取值兩張方法 第一種不存在報錯 # print(info["x"]) print(info.get(‘x

python 字典列表、元組生成器的使用

需要 否則 二維 tor except 元組 python 字典 減少 返回 python的生成式在一些類型相互轉換的時候可以寫出十分優雅的代碼。如列表轉換成另一個列表、字典、或元組。並且代碼的執行效率也比使用for...in...循環高。 列表生成式 列表生成式即生成列表

python 字典列表、字符串 之間的轉換

pytho 技術 str com 9.png bubuko span 轉換 src 1、列表與字符串轉換 列表轉字符串: 將列表中的內容拼接成一個字符串 將列表中的值轉成字符串 字符串轉列表:

字典列表性能哪家強,讓我用一百萬隨機字符來為你揭曉!

tro 哈希表 並發 快速 random模塊 符號 基礎 運行時 散列表 Python中有兩個非常常用的數據結構,列表和字典。在做數據存儲的時候,到底二者哪家強,字典還是列表,還是差不多呢。與其猜測,不如我們用數據說話! 思路: 生成一個很大的文本文件分別用列表和字典來存儲

字典列表的區別,字串、列表、元組、字典、集合的區別

字典(dictionary)是除列表意外python之中最靈活的內建資料結構型別。列表是有序的物件結合,字典是無序的物件集合。 兩者之間的區別在於:字典當中的元素是通過鍵來存取的,而不是通過偏移存取。 字典用"{ }"標識。字典由索引(key)和它對應的值value組

Python字典列表,元組,字元的長度用len()函式,矩陣的長度用shape

如果需要知道某資料型別的長度或維度, 先 print type(xxx)知道資料型別,例如讀取json檔案 [{“keypoints”: [ 677.9600219726562, 739.485595703125, 0.004566059447824955, 664.069152832031

python字典nametuple互相轉換例子

如果tuple中的元素很多的時候操作起來就比較麻煩,有可能會由於索引錯誤導致出錯。 namedtuple物件給tuple命名。 下面的例子可以字典和nametuple互相轉換 aa={'ver

python字典集合

字符串 tree 查找 get方法 空白 mon 自定義類 字典實現 例如 構造方法與字典推導式 >>> a = dict(one=1, two=2, three=3) #法一 >>> b = {‘one‘: 1, ‘two‘:

Python生成器列表生成式

生成器: 在Python中, 這種一邊迴圈一邊計算的機制, 稱為生成器:generator 列表生成式:L(list) = [x * x for x in range(10)] 生成器:    g(generator) = (x * x for x in range(10)

Python字典列表排序

 一、字典排序 在程式中使用字典進行資料資訊統計時,由於字典是無序的所以列印字典時內容也是無序的。因此,為了使統計得到的結果更方便檢視需要進行排序。Python中字典的排序分為按“鍵”排序和按“值”排序。 1、按“值”排序    按“值”排序就是根據字典的值進行排序

Python map列表推導效率比較

直接來測試程式碼吧: #!/usr/bin/env python # -*- coding: utf-8 -*- # list comprehension and map import time def test(f, name): st = time.time()

python字典結構化資料

5.1 字典資料型別 字典的索引可以使用許多不同型別的資料,不只是整數。字典的索引被稱為“鍵”,鍵及其關聯的值稱為“鍵

python 字典dict列表list的讀取速度問題, range合並

span {} iteration copy size 情況 rec class 異常 python 字典和列表的讀取速度問題 最近在進行基因組數據處理的時候,需要讀取較大數據(2.7G)存入字典中,然後對被處理數據進行字典key值的匹配,在被處理文件中每次讀取一行