Python set集合 dict字典 簡介

2021-09-17 02:35:05 字數 3103 閱讀 2023

可變 無序  不重複 的元素的集合 非線性

s={}  定義空字典

定義空set

s=set()

set dict list  bytearray不能hash

set元素不可以索引 可以迭代

set.add(value)  新增單個元素

set.update(iterable)

set.remove(value) 刪除 keyerror

set.discard(value) 刪除 無值不報錯

set.pop()隨機彈出

set.clear()清空setset

無修改方法

線性結構查詢時間複雜度on

set dict等可做到o(1)

in 和 not in 判斷元素是否在set中

union(*others)返回多個集合合併後的新集合

updates(*others)多個集合合併 就地就該

|等同union 返回新的 

|=等同update  就地修改

intersection(*others)返回多個集合的交集

intersection_update(*others)獲取多個集合的交集並就修改

&等同intersection

&=等同intersection_update

difference(*others)返回和多個集合的差集

differenc_update(*others)返回和多個集合的差集並就地修改

-等同difference

-=等同differenc_update

symmetric_difference(other)返回和另乙個集合的差集

symmetric_difference_update(other)返回和另乙個集合的差集並就地修改

^等同symmetric_difference

^=等同symmetric_difference_update

key-value鍵值對的資料的集合

可變 無序 key不重複 key必須和hash

定義 初始化

dict[k]

返回key對應值value,無key則報錯keyerror

dict.get[key,[default]]

返回key對應值value,key不存在則返回缺醒值,若沒有設定缺醒值則返回none

dict.setdefault(key,[default])

返回key對應值value,若key不存在則新增鍵值對,若沒有設定缺醒值則為none

dict[key]=value

將key對應值修改為value,若key不存在則新增新的鍵值對

dict.update([other])

使用另乙個字典的kv對更新本字典

key不存在就新增

key存在則覆蓋對應value

就地修改

dict.pop(key,[default])

key存在則移除並返回對應value

key不存在則返回設定的default

default未設定且key不存在則報錯keyerror

dict.popitem()

移除並返回乙個任意的鍵值對(元祖)

若字典為空則報錯keyerror

dict.clear()

清空字典

del dict[key] 將對應的kv對從字典移除 對應value的引用計數減一

for key in dict(=dict.keys())

遍歷的是key

for i in dict.items():

print(i)

列印出的是kv鍵值對元祖

容器一般使用for迴圈

等價import collections

d=collections.defaultdict()

from collections import defaultdict

d=defaultdict()

當key不存在的時候,根據defaultdict(type)的型別構造乙個空型別value

from collections import ordereddict

key有序字典 會根據放入元素的先後順序進行排序

ordereddict物件的字典物件,如果其順序不同那麼python也會把他們當做是兩個不同的物件

3.6版本python的字典就是記錄key插入順序

datetime模組

datetime類

類方法today()返回本地時區當前時間的datetime物件

now(tz=none)返回當前時間的datetime物件 時間到微秒 ,如果tz為none,返回和today()一樣

utcnow()沒有時區的當前時間

fromtimestamp(timestamp,tz=none)從乙個時間戳返回乙個datetime物件

datetime物件

timestamp()返回乙個到微秒的時間戳

時間戳:從格林威治時間1970.1.1 00:00到現在的秒數

構造方法

datetime.datetime(y,m,d,h,m,s,微秒)

weekday()返回星期的天 周一0週日6

isoweekday()返回星期的天 周一1週日7

date()返回日期date物件

time()返回時間time物件

replace()修改並返回新的時間

isocalendar返回乙個三元組(年,週數,周的天)

日期格式化

類方法strptime(date_string,format),返回datetime物件

物件方法strtime(format)返回字串

字串format函式格式化

timedelta物件

=兩個datetime物件相減

構造方法

datetime.timedelta(days=0,seconds=0,microseconds=0,milliseconds=0,minutes=0,hours=0,weeks=0)

year=datetime.timedelta(day=365)

total_seconds()返回時間差的總秒數

time.sleep(secs)將呼叫執行緒掛起指定的秒數

Python set集合詳解

python 中的集合,和數學中的集合概念一樣,用來儲存不重複的元素,即集合中的元素都是唯一的,互不相同。從形式上看,和字典類似,python 集合會將所有元素放在一對大括號 中,相鄰元素之間用 分隔,如下所示 其中,elementn 表示集合中的元素,個數沒有限制。從內容上看,同一集合中,只能儲存...

python set集合基礎

python set 基礎 集合 set 是乙個無序的不重複元素序列。可以使用大括號 或者 set 函式建立集合,注意 建立乙個空集合必須用 set 而不是 因為 是用來建立乙個空字典 a 1 2,3 4,1 print set a 結果 hello set hello.add b print he...

python set集合操作

set集合是乙個無序且不重複的集合。建立乙個set集合 name set sdd name 返回結果 add 功能 增加集合元素 name name.add d name 返回結果 name.add sd name 返回結果 clear 功能 清空集合元素 name name.clear name ...