python學習之路 基礎篇 day02

2021-08-04 20:05:53 字數 3989 閱讀 9407

大綱:

1.集合操作

2.檔案操作

3.分支語句

一.集合操作

概念:我們把一些元素的總體叫做集合

特點:明確性,無序性,互異性

與列表和元組不同,集合是無序的,也無法通過數字進行索引。

#列表的建立

a=[1,2,3,4]

b=list([1,2,3,4])

print(type

(b))

#元祖的建立

c=(1,2,3)

d=tuple([1,2,3])

print(type

(d))

#字典的建立

e=f=dict()

print(type

(f))

1.集合的建立

list0="hello"

#字串

b=set(list0)#建立->集合

print(b)

#list1=[1,5,8,9,7,6,6]#列表

a=set(list1)#建立-->集合

print(a)

#

集合的特點:

1)集合乙個非常重要的功能就是去重

2)建立集合的物件必須可hash,字串,列表,元祖,字典等

3)集合是無序的

2.集合的相關操作

以下操作結果的基準都是a,b,c的原始賦值

list1=[1,5,8,9,7,6,6]

a=set(list1)

print(a)#

list0="hello"

b=set(list0)

print(b)#

list2=[2,0,66,8,7,9]

c=set(list2)

print(c)#

print(a.intersection(c))#1.交集 #a&b

print(a.union(c))#2.並集 #a|b

print(a.difference(c))#3.差集 #a-b

print(a.issubset(c))#4.子集 false

print(a.issuperset(c))#5.父集 false

print(a.symmetric_difference(c))#對稱差集 集合a與集合b的對稱差集定義為集合a與集合b中所有不屬於a∩b的元素的集合,記為a△b

print(a.isdisjoint(c)) #判斷有沒有交集,沒有是true,有是false false

a.add(99)

print(a) #新增

a.remove(5)

print(a) #刪除

print(len(b)) #求集合長度 4

c.pop()

print(c) #隨機刪除乙個

b.discard("e")

print(b) #刪除

print("l"

in b ) #判斷是否是成員 true

print("l"

notin b ) #判斷是否是成員 false

二.檔案的基本操作

1.開啟檔案

#1.開啟檔案

f1=open("涼涼","r",encoding="utf-8")

#1.開啟並讀取檔案,此處的讀取檔案是讀取整個檔案,read(n)-讀取檔案的n個字元

f2=open("涼涼",encoding="utf-8").read()

print(f2)

#2.以列表的形式讀取檔案

f1=open("涼涼","r",encoding="utf-8")

#readlines()-逐行讀取出整個檔案的內容,以列表的形式返回結果

print(f1.readlines())

#3.迴圈檔案-----最優

for i in f1:

print(i.strip())

利用read()和readlines()方法我們只能一次性讀取出整個檔案(這裡補充一下,檔案的讀取是一次性的,讀完就不可再讀)

1)要想讀取我們想要的行數

#讀取前5行的內容

f1=open("涼涼","r",encoding="utf-8")

#利用迴圈遍歷一行一行的讀取內容,readline()-逐行讀取

for i in range(5):

print(f1.readline().strip())

#在第十行插入我想要的新內容

f1=open("涼涼","r",encoding="utf-8")

forindex,item in enumerate(f1.readlines()): #利用enumerate取得列表的下標和元素

ifindex==10:

print("--------------------")

print(item.strip())

2)只取出第六行的資料並加以修改

f=open("涼涼","r",encoding="utf8")

print(f.readlines()[5].strip()+"i like it")

#結果:前世你怎捨下i like it

3.列印進度條

flush()用來重新整理緩衝區的,即將緩衝區中的資料立刻寫入檔案,同時清空緩衝區,不需要是被動的等待輸出緩衝區寫入

import sys,time

for i in range(50):

sys.stdout.write("#")#stdout是標準輸出

time.sleep(1)

sys.stdout.flush()#重新整理

4.為了避免忘記關閉檔案,我們可以使用with的方式開啟檔案

with

open("涼涼","r",encoding="utf-8") as f:

5.關閉檔案 f.close()

6.顯示當前游標的位置f.tell(),預設在0,乙個英文本元佔1個字元,乙個中文漢字佔3個字元

7.調整游標的位置f.seek(n)

三.分支語句

1.三元運算

result=值1 if 條件 else 值2

2.if..else語句

輸入使用者名稱和密碼,通過判斷是否正確

age=int(input("age:"))

if age<30:

print("i am young")

elif age<50:

print("oh i am become old..")

else:

print("i am old")

3.while語句

count=0

while

count

<10:

count+=1

#white true:是無限迴圈的意思

4.for語句

for i in range(10):

print("loop:", i )

5.break和continue區別

//break是結束整個迴圈體,continue是結束單次迴圈

比方說:

while(x++ < 10)

printf(「%d\r\n」, x);

} 結果是輸出 1 2 就退出了整個while迴圈

但是如果使用continue

while(x++ < 10)

printf(「%d\r\n」, x);

} 結果是:1 2 4 5 6 7 8 9 10 可見他僅僅是不輸出3,因為他結束了本次迴圈

python自學之路 基礎篇(一)

1 info abc info 2 d 結果是什麼,為什麼會報錯呢?typeerror str object does not support item assignment 字串不支援字元賦值。2 如果要把上面的字串info裡面的c替換成d,要怎麼操作呢?info abc b info.repla...

python自學之路 基礎篇(三)

一 下面列表 a 1,2,3,4,5,333,11,44 輸出下面的結果 4,5,333 print a 3 6 二 有下面2個列表 a 1,2,3 b 4,5,6 用2個方法輸出下面結果 1,2,3,4,5,6 a 1 2,3 b 4 5,6 print a b a.extend b print ...

python自學之路 基礎篇(五)

1.已知字串 a aasmr3idd4bgs7dlsf9eaf 要求如下 1.1 請將a字串的大寫改為小寫,小寫改為大寫。a aasmr3idd4bgs7dlsf9eaf print a.swapcase a aasmr3idd4bgs7dlsf9eaf b for n in a if a n z ...