Python 基本數據類型基礎實戰【序列解包,集合】



#序列解包,該方法適用於任何序列類型!
x, y, z = range(3)
print(x,y,z)

#Answer:
#0 1 2

x, y, z = iter([1,2,3])
print(x,y,z)

#Answer:
#1 2 3

x, y, z = map(str,range(3))
print(x,y,z)

#Answer:
#0 1 2

a = 5
b = 3
a, b = b, a #交換兩個變量的值
print(a,b)

#Answer:
#3 5










a, b, c = 1, 2, 3
print(a)
print(b)
print(c)
#Answer:
#1
#2
#3

a, b, *c = 0, 1, 2, 3, 4
print(a)
print(b)
print(c)

#Answer:
#0
#1
#[2, 3, 4]

a, *b, c = 0, 1, 2, 3, 4
print(a)
print(b)
print(c)

#Answer:
#0
#[1, 2, 3]
#4

a, *b, c = 0, 1
print(a)
print(b)
print(c)    

#Answer
#0
#[]
#1

a, b, c = 'ABC'
print(a,b,c) #字符串序列解包
#Answer:
#A B C














a_set = set(range(8,14))
print(a_set) 

b_set = set([0,1,2,3,0,1,2,3,7,8])
print(b_set) #自動去重

x = set() #空集合

s = {1,2,3,4}
s.add(3)
s.update({5,4,6})
print(s) #自動去重

s.discard(5) #刪除元素,不存在就忽略
s.remove(4) #刪除元素,不存在就拋出異常
s.pop() #刪除並返回一個元素,while(!s.empty()){~}


#a_set = {8, 9, 10, 11, 12, 13}
#b_set = {0, 1, 2, 3, 7, 8}
#支持交併補差
c_set = a_set.intersection(b_set) #交集
print(c_set)
#Answer:
#{8}

c_set = a_set & b_set #交集
print(c_set)
#Answer:
#{8}

c_set = a_set | b_set #並集
print(c_set)
#Answer:
#{0, 1, 2, 3, 7, 8, 9, 10, 11, 12, 13}

c_set = a_set.union(b_set) #並集
print(c_set)
#Answer:
#{0, 1, 2, 3, 7, 8, 9, 10, 11, 12, 13}

c_set = a_set - b_set #差集
print(c_set)
#Answer:
#{9, 10, 11, 12, 13}


c_set = a_set.difference(b_set) #差集
print(c_set)
#Answer:
#{9, 10, 11, 12, 13}

c_set = a_set ^ b_set #對稱差集
print(c_set)

c_set = a_set.symmetric_difference(b_set) #對稱差集
print(c_set)
#Answer:
#{0, 1, 2, 3, 7, 9, 10, 11, 12, 13}

flag = {1,2,3} <= {1,2,3}
print(flag) #判斷是否爲子集
#Answer:
#True

flag = a_set.issubset(b_set) 
print(flag) #判斷是否爲子集
#False

flag = {2}.isdisjoint({5}) #如果兩個交集爲空,返回真
print(flag)
#Answer:
#True:



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章