標籤:方法 rom key love sort 深拷貝 ima lis 基礎知識
1.字串格式化: format
1 # format2 s0 = "我叫{},今年{}歲了,我喜歡{}".format("王力宏",46,"娃哈哈") #按位置格式化3 s1 = "我叫{0},今年{2}歲了,我喜歡{1}".format("王力宏","娃哈哈",46) #指定位置格式化4 s2 = "我叫{name},今年{age}歲了,我喜歡{lover}".format(name = "王力宏",age = 46,lover = "徐靜蕾") #指定關鍵字5 print(s0)6 print(s1)7 print(s2)
2.迭代添加:extend
1 li = ["a","b","c"]2 li.extend("xyz")3 print(li)
3.去重複 1)利用set特性
1 l1 = [‘c‘, ‘d‘, ‘r‘, ‘d‘, ‘r‘ ,‘a‘, ‘C‘]2 l2 = list(set(l1))3 l2.sort(key=l1.index) #set內元素是無序的,用sort可以按照L1的元素順序排序4 print(l2)
2)for迴圈
1 l1 = [‘c‘, ‘d‘, ‘r‘, ‘d‘, ‘r‘ ,‘a‘, ‘C‘]2 l2 = []3 for el in l1:4 if el not in l2:5 l2.append(el)6 print(l2)
3)排序後while迴圈
1 l1 = [‘c‘, ‘d‘, ‘r‘, ‘d‘, ‘r‘ ,‘a‘, ‘C‘] 2 l1.sort() 3 l2=[] 4 n = 0 5 while n < len(l1): 6 if l1[n] not in l2: 7 l2.append(l1[n]) 8 n = n + 1 9 else:10 n = n + 111 print(l2)
4.小資料池 5.深淺copy
1)淺拷貝: 只拷貝第一層,下層沿用(地址相同)
1 l1 = ["螞蟻","藍貓","影魔"]2 l2 = l1.copy()3 l1.append("帕克")4 print(l1)5 print(l2)6 print(id(l1),id(l2))7 # [‘螞蟻‘, ‘藍貓‘, ‘影魔‘, ‘帕克‘]8 # [‘螞蟻‘, ‘藍貓‘, ‘影魔‘]9 # 2527144744328 2527144744264
l1 = ["螞蟻","藍貓","影魔",["巨魔","飛機","莉娜"]]l2 = l1.copy()l1[3].append("帕克")print(l1)print(l2)print(id(l1[3]),id(l2[3]))# [‘螞蟻‘, ‘藍貓‘, ‘影魔‘, [‘巨魔‘, ‘飛機‘, ‘莉娜‘, ‘帕克‘]]# [‘螞蟻‘, ‘藍貓‘, ‘影魔‘, [‘巨魔‘, ‘飛機‘, ‘莉娜‘, ‘帕克‘]]# 2988850058632 2988850058632
2)深拷貝: 完全不同的個體
import copyl1 = ["螞蟻","藍貓","影魔",["巨魔","飛機","莉娜"]]l2 = copy.deepcopy(l1) #注意用法,需要匯入copy模組l1[3].append("帕克")print(l1)print(l2)print(id(l1[3]),id(l2[3]))# [‘螞蟻‘, ‘藍貓‘, ‘影魔‘, [‘巨魔‘, ‘飛機‘, ‘莉娜‘, ‘帕克‘]]# [‘螞蟻‘, ‘藍貓‘, ‘影魔‘, [‘巨魔‘, ‘飛機‘, ‘莉娜‘]]# 1751479821960 1751479823368
6.fromkeys
1 dic = dict.fromkeys(["jay","JJ"],["周杰倫","林俊傑"])2 print(dic)3 # {‘jay‘: [‘周杰倫‘, ‘林俊傑‘], ‘JJ‘: [‘周杰倫‘, ‘林俊傑‘]}4 dic.get("jay").append("哈哈哈")5 print(dic)6 # {‘jay‘: [‘周杰倫‘, ‘林俊傑‘, ‘哈哈哈‘], ‘JJ‘: [‘周杰倫‘, ‘林俊傑‘, ‘哈哈哈‘]} 由於dic中jay和JJ共用一個列表,jay添加元素,相應JJ也添加元素7.檔案操作的r+模式
r+模式是追加讀寫,但並不是只能先讀後寫,也可以先寫後讀,注意先讀後寫時,只能再末尾添加
8.空元組的表示方法
(,) 注意中間要有逗號
9.join用法
split()可以分割字串成列表,而join()可以將列表中的元素拼接成字串
10.解碼編碼
11.setdefault用法
python基礎知識漏洞總結