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值的匹配,在被處理文件中每次讀取一行