1.數據類型補充
1.1 字符串
s=str(123) 類型轉換
s=s.capitalize() 首字母大寫
s=s.title() 每個特殊字符隔開的單詞首字母大寫
s=s.swapcase() 大小寫轉換
print(s.count("1")) 統計"1"出現的次數
print(s.find("1")) 查找索引,沒有則返回-1
print(s.index("1")) 查找索引,沒有則報錯
1.2列表
'''
遇到問題沒人解答?小編創建了一個Python學習交流QQ羣:531509025
尋找有志同道合的小夥伴,互幫互助,羣裏還有不錯的視頻學習教程和PDF電子書!
'''
li=list("asdf") 定義方式(迭代)
print(li.count("1")) 統計"1"出現的次數
print(li.index("1")) 查找索引
li.sort() 升序
li.sort(reverse=True) 降序
li.reverse 反轉
1.3 元祖
tu=tuple("12345") 定義方式(迭代)
print(tu.count("3")) 統計"3"出現的次數
print(tu.index("3")) 查找索引
1.5字典
dic=dict(k=1,k1=123,k2="aa") 定義方式
dic.popitem() Python3.6版本,默認刪除最後一個鍵值對;Python3.5以前,隨機刪除
dic=dic.fromkeys("asdf",[4,5,6]) 第一個參數是鍵(迭代),第二個參數是每個鍵對應的值(同一個內存地址)
2.數據類型轉換
'''
遇到問題沒人解答?小編創建了一個Python學習交流QQ羣:531509025
尋找有志同道合的小夥伴,互幫互助,羣裏還有不錯的視頻學習教程和PDF電子書!
'''
s=str(int) int => str
n=int(str) str => int 字符串必須都是十進制的數
li=list(str) str => list 迭代
li=s.split() str => list
print("".join(li)) list => str 可迭代對象中不能包含int
tu=tuple(list) list => tuple
s=set(list) list => set
li=list(tuple) tuple => list
s=set(tuple) tuple => set
li=list(set) set => list
tu=tuple(set) set => tuple
#除字典外,容器數據類型之間可以直接相互轉換
3.常見的坑
3.1 列表
循環添加列表元素時,會形成死循環
li=[1,2,3,4]
for i in li:
li.append(i)
print(li)
循環刪除索引時,要倒敘刪除,或者通過建立新列表,將要刪除的元素添加到新列表中,以此刪除老列表元素
倒敘刪除:
'''
遇到問題沒人解答?小編創建了一個Python學習交流QQ羣:531509025
尋找有志同道合的小夥伴,互幫互助,羣裏還有不錯的視頻學習教程和PDF電子書!
'''
li=[1,2,3,4,5]
for i in range(len(li)-1,-1,-1):
if i%2 == 1:
li.pop(i)
print(li)
通過新列表刪除老列表元素:
li=[1,2,3,4,5]
lis=[]
for i in range(len(li)):
if i%2 == 1:
lis.append(li[i])
for c in lis:
li.remove(c)
print(li)
3.2 字典
字典在循環的時候,不能改變字典的大小 => 不能增刪
可先定義一個列表,將要刪除的鍵添加到列表中,以此刪除字典鍵值對
'''
遇到問題沒人解答?小編創建了一個Python學習交流QQ羣:531509025
尋找有志同道合的小夥伴,互幫互助,羣裏還有不錯的視頻學習教程和PDF電子書!
'''
dic={"k1":"v1","k2":"v2","k3":"v3"}
li=[]
for i in dic:
if i == "k1" or i == "k3":
li.append(i)
for c in li:
dic.pop(c)
print(dic)
4. 編碼和解碼
python2內存使用的是ASCII
python3內存使用的是Unicode
print(s.encode("utf-8")) 編碼 Unicode => utf-8
print(s.decode("utf-8")) 解碼 utf-8 => Unicode
#用什麼編碼就用什麼解碼 utf-8和gbk不能轉換