1.1 集合的定義html
list_1 = [1, 2, 4, 7, 1 ,2] list_1 = set(list_1) print(list_1, type(list_1)) # {1, 2, 4, 7} <class 'set'> 集合是無序的 list_2 = set([2, 4, 78, 67]) print(list_1, list_2)
1.2 交集python
print(list_1.intersection(list_2)) # {2, 4} 交集 or list_1 & list_2 print(list_1.isdisjoint(list_2)) # 交集爲空 則 返回True
1.3 並集ide
print(list_1.union(list_2)) # {1, 2, 67, 4, 7, 78} 並集 list_1 | list_2
1.4 差集 對稱差集測試
print(list_1.difference(list_2)) # {1, 7} 差集 list_1 - list_2 print(list_1.symmetric_difference(list_2))# {1, 67, 7, 78} 對稱差集 list_1 ^ list
1.5 子集 父集編碼
print(list_1.issubset(list_2)) # False 子集 list_1 <= list_2 print(list_1.issuperset(list_2)) # False 父集 list_1 >= list_2
1.6 添加spa
list_1 = {1, 2, 4, 7} list_1.add(56) print(list_1) # {56, 1, 2, 4, 7} list_1.update([56,'sam']) print(list_1) # {1, 2, 'sam', 4, 7, 56}
1.7 刪除.net
list_1 = {1, 2, 4, 7} #1 list_1.remove(2) # 元素不存在就會報錯 print(list_1) # {1, 4, 7} #2 list_1.pop() # 任意刪除元素 #3 list_1.discard(7) # 刪除一個元素,若是元素不存在,就返回空
1.8 長度指針
list_1 = {1, 2, 4, 7} print(len(list_1)) # 4
1.9 屬於code
ele = 1 print(ele in list_1) # True print(ele not in list_1) # False
1.10 複製htm
list_1 = {1, 2, 4, 7} list_3 = list_1.copy() print(list_3)
文件yesterday在同級目錄,內容爲
越女採蓮秋水畔,窄袖輕羅,暗露雙金釧。照影摘花花似面,芳心只共絲爭亂。
雞尺溪頭風浪晚,霧重煙輕,不見來時伴。隱隱歌聲歸棹遠,離愁引着江南岸。」
一陣輕柔婉轉的歌聲,飄在煙水濛濛的湖面上。歌聲發自一艘小船之中,船裏五個少女和歌嘻笑,
盪舟採蓮。她們唱的曲子是北宋大詞人歐陽修所做的「蝶戀花」詞,寫的正是越女蓮的情景,雖只寥六十字,
但季節、時辰、所在、景物以及越女的容貌、衣着、首飾、心情,無一不描繪得歷歷如見,下半闋更是寫景中有敘事,
敘事中挾抒情,自近而遠,餘意不盡。歐陽修在江南爲官日久,吳山越水,柔情密意,盡皆融入長短句中。
宋人不論達官貴人,或是里巷小民,無不以唱詞爲樂,是以柳永新詞一出,有井水處皆歌,而江南春岸折柳,
秋湖採蓮,隨伴的每每即是歐詞。
時當南宋理宗年間,地處嘉興南湖。節近中秋,荷葉漸殘,蓮肉飽實。這一陣歌聲傳入湖邊一個道姑耳中。
她在一排柳樹下悄立已久,晚風拂動她杏黃色道袍的下襬,拂動她頸中所插拂塵的萬縷柔絲,心頭思潮起伏,
當真亦是「芳心只共絲爭亂」。只聽得歌聲漸漸遠去,唱的是歐陽修另外一首「蝶戀花」詞,一陣風吹來,
隱隱送來兩句:「風月無暗換,舊遊如夢空腸斷……」歌聲甫歇,即是一陣格格嬌笑。
2.1 基本操做
data = open("yesterday", encoding="utf-8").read() print(type(data)) # <class 'str'> print(data)
結果:打印所有內容
越女採蓮秋水畔,窄袖輕羅,暗露雙金釧。照影摘花花似面,芳心只共絲爭亂。
雞尺溪頭風浪晚,霧重煙輕,不見來時伴。隱隱歌聲歸棹遠,離愁引着江南岸。」
一陣輕柔婉轉的歌聲,飄在煙水濛濛的湖面上。歌聲發自一艘小船之中,船裏五個少女和歌嘻笑,
盪舟採蓮。她們唱的曲子是北宋大詞人歐陽修所做的「蝶戀花」詞,寫的正是越女蓮的情景,雖只寥六十字,
但季節、時辰、所在、景物以及越女的容貌、衣着、首飾、心情,無一不描繪得歷歷如見,下半闋更是寫景中有敘事,
敘事中挾抒情,自近而遠,餘意不盡。歐陽修在江南爲官日久,吳山越水,柔情密意,盡皆融入長短句中。
宋人不論達官貴人,或是里巷小民,無不以唱詞爲樂,是以柳永新詞一出,有井水處皆歌,而江南春岸折柳,
秋湖採蓮,隨伴的每每即是歐詞。
時當南宋理宗年間,地處嘉興南湖。節近中秋,荷葉漸殘,蓮肉飽實。這一陣歌聲傳入湖邊一個道姑耳中。
她在一排柳樹下悄立已久,晚風拂動她杏黃色道袍的下襬,拂動她頸中所插拂塵的萬縷柔絲,心頭思潮起伏,
當真亦是「芳心只共絲爭亂」。只聽得歌聲漸漸遠去,唱的是歐陽修另外一首「蝶戀花」詞,一陣風吹來,
隱隱送來兩句:「風月無暗換,舊遊如夢空腸斷……」歌聲甫歇,即是一陣格格嬌笑。
2.2 讀取 r
f = open("yesterday",'r', encoding="utf-8") # 文件句柄, 至關於C的指針 r ---->讀 data = f.read() # 讀取所有,指針移動到最後 print(data) print("----------------------------------------------") data2 = f.read() # 指針後面沒有內容了,被data讀完了 print("data2:", data2) # data2: ---->返回空
2.3 寫 w
f = open('yesterday2', 'w' ,encoding='utf-8') # 'w' ----》 建立一個文件,源文件被覆蓋 f.write("我愛北京,\r\n") f.write(" i love you ") f.close()
結果: yesterday2 內容以下
我愛北京,
i love you
2.4 追加 a
f = open('yesterday2', 'a' ,encoding='utf-8') #'a' ----> 追加 , 但不能讀 f.write('測試「a」:beijing') f.close()
結果:yesterday2 內容以下
我愛北京,
i love you 測試「a」:beijing
2.5 讀取方法
f = open('yesterday', 'r', encoding='utf-8') print(f.readline()) # 讀取第一行 一行一行的讀 print(f.readline()) # 讀取第二行 for i in range(3): print(f.readline()) # 讀取前三行
data = f.readlines() # 返回列表, 元素爲每一行的字符串 # 效率低 for line in f.readlines(): # 效率低,由於它把全部的文件內容都讀取到內存 print(line.strip()) # 由於line的最右有換行符,使用strip, 打印的行與行之間就不會有空 # 效率高的循環 for line in f: #內存裏只存一行 print(line.strip())
2.6 其它方法
print(f.tell()) # 打印句柄的位置 # 0 print(f.read(10)) # 讀取10個字符串 #Somehow, i print(f.tell()) # 10 print(f.seek(0)) # 句柄回到起始位置 print(f.encoding) # 打印文件編碼 utf-8 print(f.name) # 打印文件名字 yesterday print(f.readable()) # 判斷文件是否可讀 print(f.writable()) # 判斷文件是否可寫 file = open('yesterday2', 'w', encoding='utf-8') file.write('hello 1 \n') file.flush() # 把寫入內存中的內容,刷入磁盤 #file.buffer # 案例 顯示進度條 import sys, time for i in range(20): sys.stdout.write("#") sys.stdout.flush() # time.sleep(0.5) file3 = open('yesterday', 'r', encoding='utf-8') file3.truncate(20) # 從頭開始截取 20個字符串
2.7 寫讀 讀寫
file = open('yesterday', 'r+', encoding='utf-8') # 'r+' ----> 以讀,和追加的方式打開 file = open('yesterday', 'w+', encoding='utf-8') # ’w+‘ 寫讀,追加寫 ,沒什麼用 file = open('yesterday', 'a+', encoding='utf-8') # 追加讀 file = open('yesterday', 'rb') # 讀取二進制文件 file = open('yesterday2', 'wb') #file.write('wI love you') # 會報錯, 由於在python3中,任意字符串都是用Unicode編碼的,即使在開頭申明的編碼集,必須是用 encode轉化爲二進制 file.write('wI love you'.encode()) # 得要編碼成二進制
# 若是要對文件修改,建議把修改的內容寫入新的文件 file = open('yesterday2', 'r', encoding='utf-8') file_new = open('yesterday2.bak', 'w', encoding='utf-8') for line in file: if '我飛快地奔走' in line: line = line.replace('我飛快地奔走', '縱容的享受') file_new.write(line) file.close() file_new.close()
2.8 with 語句
with open('yesterday', 'r') as f: print(f.read()) with open('yesterday', 'r') as f, \ open('yesterday2', 'r') as f2: pass
參考
http://www.cnblogs.com/yuanchenqi/articles/5956943.html
http://www.diveintopython3.net/strings.html
http://www.cnblogs.com/alex3714/articles/5717620.html