***************=檔案操作
# f = open('a.txt','r',encoding='utf-8')
# # res = f.read()
# f = open('users2.txt','w',encoding='utf-8')
# # res = f.read()
# f.write('abc')
# f.read()
# f = open('users3.txt','a',encoding='utf-8')
# # res = f.read()
# f.write('abcdef')
# f.read() #not readable
# r read 只能讀不能寫,檔案不存在時會報錯
# w write 檔案不存在時,會幫你建立,但不能讀 報錯 not readable,會清空原來的檔案內容
# f = open('a.txt','r+',encoding='utf-8')
# f.write('bbb') # 追加
# res2 = f.read()
# print(res2) #讀不出來東西
# f = open('a.txt','w+',encoding='utf-8')
# res = f.read()
# print(res)
# f = open('user4.txt','a+',encoding='utf-8')
# res = f.read()
# print(res)
# f.write('abc')
# res2 = f.read()
# print(res2)
# r+ 讀寫模式 檔案不存在時會報錯,可以寫,但是寫的有問題,寫前邊去了
# w+ 寫讀模式 會清空原來的檔案內容,可以讀,但是讀不到東西
# a+ 追加讀模式 能寫能讀,但是讀不到東西
#**********檔案指標
# f = open('users3.txt','a+',encoding='utf-8')
# f.seek(0)
# # f.truncate() #刪除 指標需要放在最前邊 才能清空; 不然就從指標位置開始刪除
# # print(f.read()) #全讀出來了,字串
# print(f.readline()) #讀取一行的內容
# print(f.tell()) # 當前檔案的位置
# # print(f.readlines()) # 全讀出來了 ,list
# f.write('\nabc\n')
# f.seek(0)
# print(f.read())
# f.read() 和 f.readlines() 同時存在的話 哪個排在第二個 哪個就是空的 因為有【檔案指標】這個東西 一行行讀完了,之後再繼續讀就沒有內容了
# 先 realine()一行 ,然後再 read() 的話,read的是 除了第一行之外的東西
# l = ['123\n','abc\n','456\n']
# f.writelines(l) # 把list裡的元素 寫入到檔案裡面
******************************切片
# s = 'abc123456'
# print(s[0:3])
# print(s[:3]) # 冒號前邊數字不寫,說明從第乙個開始取
# l = ['xiaohei',60,70,80]
# print(l[1:4]) # 切片的時候 是顧頭不顧尾的
# print(l[:3]) # 從第乙個到第2個
# print(l[3:]) # 從3取到最後
# print(l[:]) #複製乙個
# nums = list(range(1,21)) #1到20 也是顧頭不顧尾的
# print(nums[0:10]) # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# print(nums[0:10:2]) # 第三個引數是步長 [1, 3, 5, 7, 9]
# print(nums[0:10:3]) # [1, 4, 7, 10]
# print(nums[::-1]) # 步長為負數時,代表從右往左取 [20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
# print(nums[-1:-12:-2]) # [20, 18, 16, 14, 12, 10]
# nums.reverse() #可以直接反轉
# print(nums)
*************************====json操作
import json
# 存在檔案裡面的東西 讀出來都是字串
# ------json.dumps 把字典轉成字串
開啟檔案
把字典dumps一下,轉成字串
把字串寫入檔案
# d =
# res = json.dumps(d) #把字典轉成json串,json串是字串
# print(type(res))
# f = open('user4.txt','w')
# f.write(res)
# ------json.loads 把字串轉成字典
1、開啟檔案
2、讀取檔案內容
3、json.laods 把讀到的字串轉成字典
# f = open('user4.txt')
# res = f.read()
# print(res)
# d = json.loads(res) # 把json串 轉成字典
# print(d)
# d =
# res = json.dumps(d,indent=4,ensure_ascii=false)
# f = open('user4.txt','w',encoding='utf-8')
# f.write(res)
# ------load
1、開啟檔案
2、load 自動幫你讀
# f = open('user4.txt',encoding='utf-8')
# d = json.load(f) # 把json串 轉成字典
# print(d)
# -------dump
開啟檔案
dump寫入
d = 集合也用大括號, key-value的是字典 單個值的是set
s = set() #定義乙個空集合
s1 =
s2 =
#交集jiaoji = s1.intersection(s2)
print(jiaoji)
stu1 = ['zhz','wang','li','zhao'] # 會技能1的
stu2 = ['zhz','wang','li','liu'] # 會技能2的
stuset1 = set(stu1)
stuset2 = set(stu2)
print(stuset1.intersection(stuset2)) # 取交集
print(stuset1 & stuset2) # 這樣也可以取交集
#並集bingji = stuset1.union(stuset2)
bingji2 = stuset1 | stuset2
print(bingji) #
print(bingji2)
#差集print(stuset1 - stuset2) # a裡面有 b裡面沒有的 zhao
print(stuset2 - stuset1) # liu
#對稱差集
print(stuset1.symmetric_difference(stuset2)) #
print(stuset1^stuset2) #
#加元素
s1.add('abc')
s1.add(9)
s1.remove('abc')
print('abc' in s1)
JS陣列取交集 並集
如果陣列中僅是字串和數值 var a 1 2,3 b 2 3,4 5 交集 2,3 var intersection a.filter item b.indexof item 1 並集 1,2,3,4,5 var union a.concat b.filter item a.indexof item...
json檔案操作
1 把字典或list轉換成字串方法 json.dumps with open b w encoding utf 8 as f json new json.dumps jsongeshi 字典轉換為字串,write寫支援字串,不支援字典及list格式 f.write json new 2 把字串轉換成...
JS兩個陣列取交集filter
關於filter的解釋,菜鳥教程這樣寫道 filter 方法建立乙個新的陣列,新陣列中的元素是通過檢查指定陣列中符合條件的所有元素。經常用來寫兩個陣列取交集的演算法 var arr1 1,5,6,4,2 var arr2 2,5,3,4 var arr3 arr1.filter function n...