Python for、while循環、集合——第五天

1、爲什麼要用循環?

循環是爲了防止代碼冗雜,減少做重複的事情

2、循環分類及區別

(1)while循環:

i = 1

while i <= 5:
    print(i)
    i+=1
#輸出結果:
1
2
3
4
5

(2)for循環:

for i in range(10):
    if i <= 5:
        continue
    print("test:",i)

#輸出結果:
test: 6
test: 7
test: 8
test: 9

(3)while死循環:

i = 1

while i <= 5:
    print(i)
 
#輸出結果:
1
1
1
1
1
...

(4)for循環和while循環的區別
while循環之前,先判斷一次,如果滿足條件的話,再循環,for循環的時候必須有一個可迭代的對象,才能循環.

1、集合特點:
(1)由不同元素組成
(2)無序
(3)集合中元素必須是不可變類型

2、集合的創建

s=set("hello")

#輸出爲:h e l o 

說明: set方法相當於for循環遍歷,且去掉重複的,只想做簡單的去重操作,而不考慮元素索引位置的改變可以用集合來實現。

3、集合的魔法

(1)add()——魔法:添加集合,只能添加一個值
(2)clear()——魔法:清空集合
(3)update()——魔法:更新多個值,可以更新元組,列表,將原集合覆蓋
(4)copy()——魔法:拷貝集合
(5)pop()——魔法:刪除隨機集合
(6)remove(x)——魔法:刪除指定x,若x不存在,則會報錯
(7)discard()——魔法:刪除指定,但是不會報錯
(8)兩集合的交集::s1 & s2 = s1.intersection(s2)
(9)兩集合的並集: s1 | s2 = s1.union(s2)
(10)兩集合的差集:s1 - s2 = s1.difference(s2)
存在誰不存在誰,就用誰減誰
(11)兩集合的交叉補集:(並集摳出相同的部分)
s1.symmertric_difference(s2) = s1 ^ s2
(12)判斷兩集合是否沒有交集:s1.isdisjoint(s2),沒有交集未True
(13)判斷s1是否是s2的子集:s1.issubset(s2) 相當於s1 <= s2
(14)判斷s1是否是s2的父集:s1.issupper(s2) 相當於s1 >= s2
(15)集合是可變類型,但是可以創建不可變集合用 frozenset()
4、應用實際
求兩個列表中共有的部分
(1)不用集合方法:需要進行for循環

list1=[1,3,4,5,6]
list2=[2,3,4]

for i in list1:
    if i in list2:
        print(i)
        
#輸出結果:
3
4

(2)用集合:轉換成集合,直接求交集

list1=[1,3,4,5,6]
list2=[2,3,4]

s1=set(list1)
s2=set(list2)
s=s1&s2
print(s)

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