學習心得2020.08.09
阿新 • • 發佈:2020-08-09
027集合
對集合賦值時,重複的數,只會在集合中出現一次
>>> num2={1,2,3,4,5,5,4,3,2}
>>> num2
{1, 2, 3, 4, 5}
如何建立一個集合
+一種是直接把一堆元素用花括號括起來
+一種是使用set()工廠函式
>>> set1=set([1,2,3,4,5,5])
>>> set1
{1, 2, 3, 4, 5}
如何訪問集合中的值
+可以使用for把集合中的資料一個個讀取出來
+可以通過in和not in判斷一個元素是否在集合中已經存在
>>> 1 in num2 True >>> '1' in num2 False
不可變集合frozenset()
>>> num3=frozenset([1,2,3,4,5])
>>> num3.add(0)
Traceback (most recent call last):
File "<pyshell#19>", line 1, in <module>
num3.add(0)
AttributeError: 'frozenset' object has no attribute 'add'
028檔案
檔案開啟模式
檔案物件方法
+開啟一個現有的檔案(可讀)
>>> f=open('D:\\那些要用的軟體\\python\\program\\record.txt') >>> f <_io.TextIOWrapper name='D:\\那些要用的軟體\\python\\program\\record.txt' mode='r' encoding='cp936'>
+新建一個可寫的檔案
>>> f=open('D:\\那些要用的軟體\\python\\program\\test.txt','w')
>>> f.write('我愛魚C工作室')
7
>>> f.close()
029檔案:一個任務
將檔案(record.txt)中的資料進行分割並按照以下規律儲存起來:
+小甲魚的對話單獨儲存為boy_.txt的檔案(去掉“小甲魚:”)
+小客服的對話單獨儲存為girl_.txt的檔案(去掉“小客服:”)
+檔案中總共有三段對話,分別儲存為boy_1.txt,girl_1.txt,boy_2.txt,girl_2.txt,boy_3.txt,girl_3.txt共6個檔案(提示:檔案中不同的對話間已經使用“==========”分割)
def save_file(boy,girl,count):
file_name_boy='boy_'+str(count)+'.txt'
file_name_girl='girl_'+str(count)+'.txt'
boy_file=open(file_name_boy,'w')
girl_file=open(file_name_girl,'w')
boy_file.writelines(boy)
girl_file.writelines(girl)
boy_file.close()
girl_file.close()
def split_file(file_name):
f=open('D:\\那些要用的軟體\\python\\program\\record.txt')
boy=[]
girl=[]
count=1
for each_line in f:
if each_line[:6]!='======':
(role,line_spoken)=each_line.split(":",1)
if role =='小甲魚':
boy.append(line_spoken)
if role =='小客服':
girl.append(line_spoken)
else:
save_file(boy,girl,count)
boy=[]
girl=[]
count+=1
save_file(boy,girl,count)
f.close()
split_file('record.txt')