可變 無序 不重複 的元素的集合 非線性
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 ...