Python按照list dict key進行排序過程解析_python

來源:腳本之家  責任編輯:小易  

a=[]append:add obj to end of the lista.append(10)#[10]a.append('123')#[10,'123']count:the count of some obj.a.count(10)#1a.append(10)#[10,'123',10]a.count(10)#2extend:append from another iterablea.append([1,2,3])#[10,'123',10,[1,2,3]]note:[1,2,3]treated as one object.a.append([1,2,3])#[10,'123',10,[1,2,3],1,2,3]index:the index of one object in the lista.index('123')#1a.index(3)#6a.index(10)#0note:if multiple,the first's index is returnedinsert:insert one objecta.insert(0,'insert')#['insert',10,'123',10,[1,2,3],1,2,3]Pop:return the last element and remove it from the listval=a.pop()#val=3a is['insert',10,'123',10,[1,2,3],1,2]note:a's last element removed.remove:remove some valuesa.remove('insert')#[10,'123',10,[1,2,3],1,2]a.remove(10)#['123',10,[1,2,3],1,2]note:when multiple,only the first removed.reverse:reverse the lista.reverse()#[2,1,[1,2,3],10,'123',5]sort:sort the list:Though sorting a list with different types of variables sounds meaningless,python supports ita.sort()#[1,2,5,10,[1,2,3],'123']note:they are first sorted by types,then,for each typesorted againusually,only sole-type list are sorted.a=[]#clean the lista=[4,5,1,2,3]a.sort()#[1,2,3,4,5]www.13333515.buzz防采集請勿采集本網。

在做項目的時候,遇到這樣的數據:

思路:把列表轉換成數組,創建相同形狀全是1的數組,兩個數組相加,再轉換成lsit

思考,用正則表達式,把字符串里的數字提前出來.數字排序之后,如果第一個和最后一個相等,那么數字部分就完全相等 參考代碼 usr/bin/env python coding:utf-8-*- python 2.7 import re def func(li)

"trends": [ { "name": "Rick Gates", "promoted_content": null, "query": "%22Rick+Gates%22", "tweet_volume": 135732, "url": "http://twitter.com/search?q=%22Rick+Gates%22" }, { "name": "#TheBachelorette", "promoted_content": null, "query": "%23TheBachelorette", "tweet_volume": 91245, "url": "http://twitter.com/search?q=%23TheBachelorette" }, { "name": "#KremlinAnnex", "promoted_content": null, "query": "%23KremlinAnnex", "tweet_volume": 42654, "url": "http://twitter.com/search?q=%23KremlinAnnex" }, { "name": "#LHHH", "promoted_content": null, "query": "%23LHHH", "tweet_volume": 35252, "url": "http://twitter.com/search?q=%23LHHH" }]

實例: a=[[1,2],[1],[3,4],[7]] 這樣a就是一個list,其中的每個元素都是list。這樣的語法也是很自然的,python的list里面可以存放任何的數據類型。

我需要做的就是根據tweet_volume的數值對trends里的元素進行排序。

很簡單的東東,舉個例子.我只用兩個數據來演示a1=3a2=34all_data={ 1:a1,2:a2 }user_data=set([1])new_data=set(all_data[key]for key in user_data.intersection(all_data))print(new_data)

實現代碼:

把上面數據以字典的方式獲取,相當于把取出的就是后面的列表,即

直接: new_list=[i for i in old_list if i>0]

思考,用正則表達式,把字符串里的數字提前出來.數字排序之后,如果第一個和最后一個相等,那么數字部分就完全相等 參考代碼 usr/bin/env python coding:utf-8-*- python 2.7 import re def func(li)

trends=[ { "name": "Rick Gates", "promoted_content": null, "query": "%22Rick+Gates%22", "tweet_volume": 135732, "url": "http://twitter.com/search?q=%22Rick+Gates%22" }, { "name": "#TheBachelorette", "promoted_content": null, "query": "%23TheBachelorette", "tweet_volume": 91245, "url": "http://twitter.com/search?q=%23TheBachelorette" }, { "name": "#KremlinAnnex", "promoted_content": null, "query": "%23KremlinAnnex", "tweet_volume": 42654, "url": "http://twitter.com/search?q=%23KremlinAnnex" }, { "name": "#LHHH", "promoted_content": null, "query": "%23LHHH", "tweet_volume": 35252, "url": "http://twitter.com/search?q=%23LHHH" }]trends = sorted(trends,key = lambda e:e['tweet_volume'],reverse = True)

考慮到有些數據是NULL,因此需要提前做個處理,對于空的tweet_volume設置為0,完整代碼:

for item in trends: if(item.get('tweet_volume') is None): item['tweet_volume'] = 0 trends = sorted(trends,key = lambda e:.get('tweet_volume') ,reverse = True)

建議用get方式獲取,空值或數據不存在這樣不會報錯。

在Python文檔中看到一種性能更高的方法

通過使用 operator 模塊的 itemgetter 函數,可以非常容易的排序這樣的數據結構

因此上面的程序可以改寫成

from operator import itemgetterfor item in trends: if(item.get('tweet_volume') is None): item['tweet_volume'] = 0trends = sorted(trends,key = itemgetter('tweet_volume'),reverse = True)

一般應用場景都不用考慮這個大小,因為這個上限很高,需要用到這么多元素的list的時候,都需要考慮很多其它問題。32位python的限制是 536870912 個元素。64位python的限制是 1152921504606846975 個元素內容來自www.13333515.buzz請勿采集。


  • 本文相關:
  • python 中list ,set,dict的大規模查找效率對比詳解
  • python里dict變成list實例方法
  • python 按字典dict的鍵排序,并取出相應的鍵值放于list中的實例
  • 對python3中dict.keys()轉換成list類型的方法詳解
  • python去重,一個由dict組成的list的去重示例
  • python: 判斷tuple、list、dict是否為空的方法
  • python 實現將字典dict、列表list中的中文正常顯示方法
  • python中in在list和dict中查找效率的對比分析
  • python實現腳本鎖功能(同時只能執行一個腳本)
  • python開發利器之ulipad的使用實踐
  • python實現的排列組合、破解密碼算法示例
  • 對tensorflow中的strides參數使用詳解
  • 利用python為運維人員寫一個監控腳本
  • django rest framework視圖的用法
  • 淺談roc曲線的最佳閾值如何選取
  • python統計單詞出現的次數
  • python線程協作threading.condition實現過程解析
  • 動態創建類實例代碼
  • python中list的大小最大是多少
  • 哪位大神幫忙解釋一下python list, 各個 help(list)的意思
  • 在python中如何將兩個list合并成一個list,不用for語句
  • Python中如何判斷一個元素在list中,用while!!!不要in!謝謝~
  • 把python list中每個元素加1,有什么簡潔的寫法?
  • python里如何把一個list分成兩個
  • python 怎么表示一個list中有很多list
  • Python中list和set的區別
  • Python 想讓一個list里面所有大于零的數字組成新list怎么辦?
  • Python中list和set的區別
  • 網站首頁網頁制作腳本下載服務器操作系統網站運營平面設計媒體動畫電腦基礎硬件教程網絡安全vbsdos/bathtahtcpythonperl游戲相關vba遠程腳本coldfusionruby專題autoitseraphzonepowershelllinux shellluagolangerlang其它首頁python 中list ,set,dict的大規模查找效率對比詳解python里dict變成list實例方法python 按字典dict的鍵排序,并取出相應的鍵值放于list中的實例對python3中dict.keys()轉換成list類型的方法詳解python去重,一個由dict組成的list的去重示例python: 判斷tuple、list、dict是否為空的方法python 實現將字典dict、列表list中的中文正常顯示方法python中in在list和dict中查找效率的對比分析python實現腳本鎖功能(同時只能執行一個腳本)python開發利器之ulipad的使用實踐python實現的排列組合、破解密碼算法示例對tensorflow中的strides參數使用詳解利用python為運維人員寫一個監控腳本django rest framework視圖的用法淺談roc曲線的最佳閾值如何選取python統計單詞出現的次數python線程協作threading.condition實現過程解析動態創建類實例代碼python入門教程 超詳細1小時學會python 列表(list)操作方法詳解python 元組(tuple)操作詳解python 字典(dictionary)操作詳解pycharm 使用心得(一)安裝和首python strip()函數 介紹python 中文亂碼問題深入分析python中使用xlrd、xlwt操作excepython科學計算環境推薦——anacpython逐行讀取文件內容的三種方django數據結果集序列化并展示實現過程基于打開pycharm有帶圖片md文件卡死問題的python xlsxwriter庫生成圖表的應用示例python讀取txt文件并取其某一列數據的示例python 實現遙感影像波段組合的示例代碼python代理ip爬蟲的新手使用教程詳解django中的form庫的使用python numpy 點數組去重的實例python解決fedora解壓zip時中文亂碼的方法打印出python 當前全局變量和入口參數的所
    免責聲明 - 關于我們 - 聯系我們 - 廣告聯系 - 友情鏈接 - 幫助中心 - 頻道導航
    Copyright © 2017 www.13333515.buzz All Rights Reserved
    3排列五开奖结果