Python內置數據結構

解析器和生成器

標準庫datetime
datetime模塊
? 對日期、時間、時間戳的處理
datetime類
? 類方法
? ? today()返回當地時區當前時間的datetime對象
? ? now(tz = None) 返回當前時間的datetime對象,時間是微秒,如果tz=None返回和today一樣
? ? utcnow()沒有時區的當前時間
? ? fromtimestamp(timestamp,tz=None)從一個時間戳返回一個datetime對象
?datetime對象
? ? timestamp()返回一個到微秒的時間戳
? ? ? ?時間戳:格林威治時間1970年1月1日0點到現在的秒數
? ? 構造方法 datetime.datetime(2016,12,6,16,29,43,790453)
? ?weekday()返回星期的天,周一0 周日6
? ?isoweekday()返回星期的天,周一1 周日7
? ?date()返回日期的date對象
? ?time()返回時間的time對象
? ?replace()修改并返回新的時間
? ?isocalendar()返回(年,周數,周的天)三元組
? ?日期格式化
? ?類方法 strptime(date_string,format),返回datetime對象
? ?對象方法 strftime(format),返回字符串
? ?字符串format函數格式化
? ?import datetime
?? dt = datetime.datetime.strptime(“21/11/06 16:30”, “%d/%m/%y %H:%M”)
?? print(dt.strftime(“%Y-%m-%d %H:%M:%S”))
?? print(“{0:%Y}/{0:%m}/{0:%d} {0:%H}::{0:%M}::{0:%S}”.format(dt))
? ? timedelta對象
? ? datetime.timedelta()
? ??year = datetime.timedelta(days=365)返回的是timedelta對象
? ? total_seconds()返回時間差的總秒數
標準庫time
?time.sleep(secs)將調用線程掛起指定的秒數
列表解析List Comprehension
語法
? ? [返回值 for 元素 in 可迭代對象 if 條件]
? ? 使用中括號[],內部是for循環,if條件語句可選
? ? 返回一個新的列表
進階
[expr for item in iterable if cond1 if cond2]
兩個if條件語句相當于 if cond1 and cond2
[expr for i in iterable for j in iterable2]
兩層for循環生成一個列表
[(x,y) for x in ‘abcdef’ for y in range(3)]
生成器表達式 Generator expression
語法
? ? (返回值 for 元素 in 可迭代對象 if 條件)
? ? 列表解析式的中括號換成小括號就可以了
? ? 返回一個生成器
和列表解析式的區別
? ? 生成器表達式是按需計算的(或稱惰性求值,延遲計算),需要的時候才計算值
? ? 列表解析式是立即返回值
生成器
? ? 可迭代對象
? ? 迭代器
next()
生成器表達式和列表解析式的區別
1、計算方式
? ? 生成器表達式延遲計算,列表解析式立即計算
2、內存占用
? ? 生成器表達式節省內存,列表解析式立即占用較大內存
3、計算速度
生成器表達式,由于列表解析式,生成器表達式返回一個生成器對象,列表解析式構造并返回一個新的列表

集合解析式
語法:
? ? {返回值 for 元素 in 可迭代對象 if 條件}
? ? 列表解析式的中括號換成大括號{}
? ? 立即返回一個集合,注意,集合內的元素必須是可以hash的
字典解析式
{返回值 for 元素 in 可迭代對象 if 條件}
列表解析式的中括號換成大括號{}
使用key:value形式
立即返回一個字典,字典的key必須是可hash的
生成器和迭代器是不同的對象,但都是可迭代對象

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/95427

(0)
SignalSignal
上一篇 2018-04-08 16:58
下一篇 2018-04-08 17:07

相關推薦

  • Python數據結構

    數據結構個人總結,方便以后查找。

    Python筆記 2018-04-01
  • Python函數返回值、作用域以及樹的概念

    Python函數返回值、作用域以及樹的概念

    Python筆記 2018-04-15
  • Python 部分知識點總結(二)

    此篇博客只是記錄第四周未掌握或不熟悉的知識點,用來加深印象。

    Python筆記 2018-03-30
  • Python 部分知識點總結(一)

    此篇博客只是記錄第三周未掌握或不熟悉的知識點,用來加深印象。

    Python筆記 2018-03-26
  • Python函數

    函數 數學函數 Python函數 若干語句塊、函數名稱、參數列表構成,組織代碼的最小單元 完成一定的功能 作用 結構化編程對代碼的最基本的封裝,一般按照功能組織一段代碼 復用,減少冗余代碼 簡潔美觀,可讀易懂 函數分類 內建函數,max()、reversed() 庫函數,math.ceil() 函數定義、調用 def語句定義函數 def 函數名(參數列表):…

    2018-04-16
  • 高階函數和裝飾器

    高階函數和裝飾器 高階函數 : 滿足以下條件之一的稱為高階函數 接受一個或多個函數作為參數 輸出一個函數 高階函數舉例: def counter(base): def inc(step=1): nonlocal base base += step return base return inc 1)自定義sort函數 def sort(itertable): …

    Python筆記 2018-04-23
欧美性久久久久