国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

Python中Collection的使用小技巧

來源:懂視網 責編:小采 時間:2020-11-27 14:38:11
文檔

Python中Collection的使用小技巧

Python中Collection的使用小技巧:本文所述實例來自獨立軟件開發者 Alex Marandon,在他的博客中曾介紹了數個關于 Python Collection 的實用小技巧,在此與大家分享。供大家學習借鑒之用。具體如下: 1.判斷一個 list 是否為空 傳統的方式: if len(mylist): # Do so
推薦度:
導讀Python中Collection的使用小技巧:本文所述實例來自獨立軟件開發者 Alex Marandon,在他的博客中曾介紹了數個關于 Python Collection 的實用小技巧,在此與大家分享。供大家學習借鑒之用。具體如下: 1.判斷一個 list 是否為空 傳統的方式: if len(mylist): # Do so

本文所述實例來自獨立軟件開發者 Alex Marandon,在他的博客中曾介紹了數個關于 Python Collection 的實用小技巧,在此與大家分享。供大家學習借鑒之用。具體如下:

1.判斷一個 list 是否為空

傳統的方式:

if len(mylist):
 # Do something with my list
else:
 # The list is empty

由于一個空 list 本身等同于 False,所以可以直接:

if mylist:
 # Do something with my list
else:
 # The list is empty

2.遍歷 list 的同時獲取索引

傳統的方式:

i = 0
for element in mylist:
 # Do something with i and element
 i += 1

這樣更簡潔些:

for i, element in enumerate(mylist):
 # Do something with i and element
 pass

3.list 排序

在包含某元素的列表中依據某個屬性排序是一個很常見的操作。例如這里我們先創建一個包含 person 的 list:

class Person(object):
 def __init__(self, age):
 self.age = age
 
persons = [Person(age) for age in (14, 78, 42)]

傳統的方式是:

def get_sort_key(element):
 return element.age
 
for element in sorted(persons, key=get_sort_key):
 print "Age:", element.age

更加簡潔、可讀性更好的方法是使用 Python 標準庫中的 operator 模塊:

from operator import attrgetter
 
for element in sorted(persons, key=attrgetter('age')):
 print "Age:", element.age

attrgetter 方法優先返回讀取的屬性值作為參數傳遞給 sorted 方法。operator 模塊還包括 itemgetter 和 methodcaller 方法,作用如其字面含義。

4.在 Dictionary 中元素分組

和上面類似,先創建 Persons:

class Person(object):
 def __init__(self, age):
 self.age = age
 
persons = [Person(age) for age in (78, 14, 78, 42, 14)]

如果現在我們要按照年齡分組的話,一種方法是使用 in 操作符:

persons_by_age = {}
 
for person in persons:
 age = person.age
 if age in persons_by_age:
 persons_by_age[age].append(person)
 else:
 persons_by_age[age] = [person]
 
assert len(persons_by_age[78]) == 2

相比較之下,使用 collections 模塊中 defaultdict 方法的途徑可讀性更好:

from collections import defaultdict
 
persons_by_age = defaultdict(list)
 
for person in persons:
 persons_by_age[person.age].append(person)

defaultdict 將會利用接受的參數為每個不存在的 key 創建對應的值,這里我們傳遞的是 list,所以它將為每個 key 創建一個 list 類型的值。

本文示例僅為程序框架,具體功能還需要讀者根據自身應用環境加以完善。希望本文所述實例對大家學習Python能起到一定的幫助作用。

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

Python中Collection的使用小技巧

Python中Collection的使用小技巧:本文所述實例來自獨立軟件開發者 Alex Marandon,在他的博客中曾介紹了數個關于 Python Collection 的實用小技巧,在此與大家分享。供大家學習借鑒之用。具體如下: 1.判斷一個 list 是否為空 傳統的方式: if len(mylist): # Do so
推薦度:
標簽: 小技巧 技巧 python
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 欧美日韩专区 | 亚洲欧洲免费 | 欧美干| 国产亚洲第一页 | 亚洲精品免费视频 | 热久久国产欧美一区二区精品 | 性殴美 | 麻豆91视频| 一级网站在线观看 | 黄网站免费观看 | 国产a毛片 | 在线国产日韩 | 极品美女一区二区三区 | 亚洲精品日韩中文字幕久久久 | 成人精品一区二区激情 | 欧美成人禁片在线观看网址 | 亚洲自拍偷拍区 | www欧美在线观看 | 国产视频高清 | 精品一区二区三区在线成人 | 久久国产欧美日韩高清专区 | 久久久国产这里有的是精品 | 中文字幕日韩精品有码视频 | 国产麻豆流白浆在线观看 | 免费在线观看国产 | 在线啊v| 欧美a一| 国产成人久久精品二区三区 | 一级毛片免费毛片一级毛片免费 | 精品一区二区在线 | 黄色国产在线视频 | 亚洲国产欧美自拍 | 亚洲视频一区二区 | 最新亚洲 | 精品国产一级在线观看 | 在线观看欧美一区 | 久久国产精品视频一区 | 国产91成人精品亚洲精品 | 99精品国产免费久久国语 | 国产成人调教视频在线观看 | 亚洲欧美在线看 |