1. 程式人生 > >集合(字典)

集合(字典)

程序 pri lan 關系 不可 否則 創建 hello 效率

# 集合就是字典,數據類型都是set,是通過set來創建
# 兩個功能:1去重 2關系測試 3無序

s=set([1,3,"hello"])
s2={1,2,3}

print(type(s))
print(type(s2))
print(s2)

# 去重
l=[1,2,2,34,56]
print(set(l))

# set是可變數據類型
# print({{1,2}:"hello"}) # 運行時報錯
# print({[1,2]:"hello"}) # 運行時報錯

# set集合一定是不可變數據類型
# ll={1,2,2,[3,4.5]} # 報錯,因為列表是可變數據類型
po={1,2,3,4,5,6}

# 關系測試
s1={"hello","1",2,3,}
s2={1,2,("a","b")} # 元組是不可變數據類型

# 求並集
s1.union(s2)
print(s1)
print(s1.union(s2))
print(s1|s2) #也可以這樣求並集

# 求交集
print(s1.intersection(s2))
s1&s2 #也可以這樣求交集

# 差集
print(s1.difference(s2))
print(s1-s2)

# 對稱差值
print(s1.symmetric_difference(s2))
print(s1^s2)

-----------------------------------------------------------------
# python中唯一具有映射關系的數據類型:字典的查詢效率高於列表
d={"name":"alex"} # name是唯一的
d={"name":"alex","name":"xie"} # 這樣不報錯,但xie會覆蓋alex
#d={[1,2,3]:"yang","name":"egon"} # 主鍵唯一且不可變數據類型,例如字典、列表就可變,[]報錯
#d={{}:"yang","name":"egon"} # 主鍵唯一且不可變數據類型,例如字典、列表就可變,[]報錯
d={"1":"yang","name":"egon"} # 主鍵唯一且不可變數據類型,例如字典、列表就可變,[]報錯
# "egon"不限什麽類型,什麽內容都行
print(d["name"])
v=d.get("name",None) #如果取不到,將用none代替
print(v)
print(type(None))

# 布爾值:非0都是true,驗證
print(bool(-1))
print(bool([])) # 空內容為flase
print(bool([1,])) # 如果裏面只有1個數時,一定要用“,”結尾,否則告訴程序這個是列表,元組也是,否則後面會導致一些錯誤
print(bool(None)) # None為flase


# print(d["name"]) #如果沒值就會系統報錯

v=d.get("nameddd",None)
print(v)

if not v: # 如果v=None
print("blank")
pass

# 遍歷for循環
for i in "hello":
print(i)

集合(字典)