python基礎知識漏洞總結
阿新 • • 發佈:2018-07-18
註意 while循環 xtend 排序 指定 imp 文件 dex 逗號
1.字符串格式化: format
1 # format 2 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 + 1 11 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 copy l1 = ["螞蟻","藍貓","影魔",["巨魔","飛機","莉娜"]] 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基礎知識漏洞總結