日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

7.18 collection random os sys等模块

發布時間:2023/12/9 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 7.18 collection random os sys等模块 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

7.18 collection random os sys等模塊

collection模塊

應用場景1

# 具名元組 # 想表示坐標點x為1 y為2 z為5的坐標 from collections import namedtuple # point = namedtuple('坐標',['x','y','z']) # 第二個參數既可以傳可迭代對象 point = namedtuple('坐標','x y z') # 也可以傳字符串 但是字符串之間以空格隔開 p = point(1,2,5) # 注意元素的個數必須跟namedtuple第二個參數里面的值數量一致 print(p) print(p.x) print(p.y) print(p.z)>>> 坐標(x=1, y=2, z=5) 1 2 5 from collections import namedtuple city = namedtuple('天津','location person job') c = city('劇院','岳云鵬','相聲') print(c) print(c.location) print(c.person) print(c.job)

應用場景2

from collections import namedtuple card = namedtuple('撲克牌','color number') # card1 = namedtuple('撲克牌',['color','number']) A = card('?','A') print(A) print(A.color) print(A.number) >>> 撲克牌(color='?', number='A') ? A

隊列queue:先進先出(FIFO first in first out)

import queue q = queue.Queue() # 生成隊列對象 q.put('first') # 往隊列中添加值 q.put('second') q.put('third')print(q.get()) # 朝隊列要值 print(q.get()) print(q.get()) print(q.get()) # 如果隊列中的值取完了 程序會在原地等待 直到從隊列中拿到值才停止

雙端隊列deque

from collections import deque q = deque(['a','b','c']) """之前學習過的方法appendappendleftpoppopleft """ q.append(1) q.appendleft(2)""" 隊列不應該支持任意位置插值 只能在首尾插值(不能插隊) """ q.insert(2,'哈哈哈') # 特殊點:雙端隊列可以根據索引在任意位置插值 print(q.pop()) print(q.popleft()) print(q.popleft())

有序字典OrderedDict

使用dict時,key是無序的。在對dict做迭代時,我們無法確定key的順序。

如果要保持key的順序,可以用OrderedDict:

normal_d = dict([('a',1),('b',2),('c',3)]) print(normal_d) from collections import OrderedDict order_d = OrderedDict([('a',1),('b',2),('c',3)]) order_d1 = OrderedDict() order_d1['x'] = 1 order_d1['y'] = 2 order_d1['z'] = 3 print(order_d1) for i in order_d1:print(i) # print(order_d1) # print(order_d) order_d1 = dict() order_d1['x'] = 1 order_d1['y'] = 2 order_d1['z'] = 3 print(order_d) for i in order_d:print(i) #OrderedDict的Key會按照插入的順序排列,不是Key本身排序:

defaultdict

有如下值集合 [11,22,33,44,55,66,77,88,99,90...],將所有大于 66 的值保存至字典的第一個key中,將小于 66 的值保存至第二個key的值中。

# 普通dict values = [11, 22, 33,44,55,66,77,88,99,90]my_dict = {}for value in values:if value>66:if my_dict.has_key('k1'):my_dict['k1'].append(value)else:my_dict['k1'] = [value]else:if my_dict.has_key('k2'):my_dict['k2'].append(value)else:my_dict['k2'] = [value] # defaultdict from collections import defaultdictvalues = [11, 22, 33,44,55,66,77,88,99,90]my_dict = defaultdict(list)for value in values:if value>66:my_dict['k1'].append(value)else:my_dict['k2'].append(value)

Counter

Counter類的目的是用來跟蹤值出現的次數。它是一個無序的容器類型,以字典的鍵值對形式存儲,其中元素作為key,其計數作為value。計數值可以是任意的Interger(包括0和負數)。Counter類和其他語言的bags或multisets很相似。

c = Counter('abcdeabcdabcaba') print c 輸出:Counter({'a': 5, 'b': 4, 'c': 3, 'd': 2, 'e': 1})

time模塊

和時間有關系的我們就要用到時間模塊。在使用模塊之前,應該首先導入這個模塊。

#常用方法 1.time.sleep(secs) (線程)推遲指定的時間運行。單位為秒。 2.time.time() 獲取當前時間戳

表示時間的三種方式

在Python中,通常有這三種方式來表示時間:時間戳、元組(struct_time)、格式化的時間字符串:

(1)時間戳(timestamp) :通常來說,時間戳表示的是從1970年1月1日00:00:00開始按秒計算的偏移量。我們運行“type(time.time())”,返回的是float類型。

(2)格式化的時間字符串(Format String): ‘1999-12-06

%y 兩位數的年份表示(00-99) %Y 四位數的年份表示(000-9999) %m 月份(01-12) %d 月內中的一天(0-31) %H 24小時制小時數(0-23) %I 12小時制小時數(01-12) %M 分鐘數(00=59) %S 秒(00-59) %a 本地簡化星期名稱 %A 本地完整星期名稱 %b 本地簡化的月份名稱 %B 本地完整的月份名稱 %c 本地相應的日期表示和時間表示 %j 年內的一天(001-366) %p 本地A.M.或P.M.的等價符 %U 一年中的星期數(00-53)星期天為星期的開始 %w 星期(0-6),星期天為星期的開始 %W 一年中的星期數(00-53)星期一為星期的開始 %x 本地相應的日期表示 %X 本地相應的時間表示 %Z 當前時區的名稱 %% %號本身

(3)元組(struct_time) :struct_time元組共有9個元素共九個元素:(年,月,日,時,分,秒,一年中第幾周,一年中第幾天等)

轉載于:https://www.cnblogs.com/PowerTips/p/11209493.html

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的7.18 collection random os sys等模块的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。