1,數據類型:int bool ...
數據結構:dict tuple list set strhtml
2,reversed(),reverse() 反轉python
2.1,#reverse() 反轉,在原表反轉,即修改原表編程
lis = [1,2,3,4,5]
lis.reverse()
print(lis)
2.2,#reversed() 也是反轉,可是不改變原表且返回一個迭代器數組
lis = [1,2,3,4,5]
lis2 = reversed(lis)
print(lis2)
3,slice()切片函數網絡
lis = (1,2,3,4,5)
sli = slice(1,5,2) # 返回一個對應的切片對象
print(lis[sli]) # 使用切片對象
# 等同於
print(lis[1:5:2])
4,format數據結構
見轉載文章:內置函數——format函數
5,bytes 轉換成bytes類型(將對應的字節轉換成對應的16進制一個字節對應一個十六進制)post
print(bytes('你好',encoding='gbk')) #將gbk編碼的‘你好‘,轉換成對應的16進制,
print(bytes('你好',encoding='utf-8')) #將utf-8編碼的‘你好‘,轉換成對應的16進制,
6,bytearray(s,encoding='utf-8') 是一個bytes類型的一個數組編碼
print(bytearray('你好',encoding='utf-8'))
詳細講解:https://www.jianshu.com/p/af0f7efe2709url
7,字符轉換
print(ord('a')) #>>>97
print(chr(97)) #>>>a
8,repr 用於%r格式化輸出,輸出原型畢露
name = 'egg'
print('你好%r',%name) #>>>你好'egg'
print(repr('1')) #>>>'1'
print(repr(1)) #>>>1
9,all() any() 都接收可迭代的
9.1,all() 判斷是否有bool值爲False的值,若是有就是False(判斷是否全爲真)
print(all(['a','',123])) #>>>False
print(all(['a',123])) #>>>True
9.2,any() 判斷是否有bool值爲True的值,若是有就是True(判斷是否不全爲假)
print(any(['',True,0,[]])) #>>>True
10,zip() 拉鍊函數
lis = [1,2,3]
lis2 = ['a','b','c']
print(zip(lis,lis2)) #是個迭代器
for i in zip(lis,lis2):
print(i)
#結果:
(1,'a')
(2,'b')
(3,'c')
相似拉鍊方法,長度不同時依次拉,多出來的不拉。
能夠寫多個集合
lis = [1,2,3]
lis2 = ['a','b','c']
tu = ('*','**',[1,2])
dic = {'k1':1,'k2':2}
print(zip(lis,lis2,tu,dic)) #是個迭代器
for i in zip(lis,lis2):
print(i)
#結果:
(1,'a','*','k1')
(2,'b','**','k2')
11,filter() map()
11.1,filter(函數名,可遍歷表)
將表中的元素依次經過前面的函數進行篩選,若是知足條件,函數返回True,則將該元素提出。
舉例:要從一個list [1, 4, 6, 7, 9, 12, 17]中去除偶數,提取出奇數,首先,要編寫一個判斷奇數的函數;而後,利用filter()過濾掉偶數
def is_odd(x):
return x % 2 == 1
lis = [1, 4, 6, 7, 9, 12, 17]
ret = filter(is_odd, lis)
print(ret) #返回一個迭代器
print(lis) #不改變原列表
print(list(ret)) #將知足條件(結果爲True)的元素提出。
#for i in ret: # 迭代器只能用一次。
# print(i)
#還可寫爲
ret2 = [i for i in [1, 4, 6, 7, 9, 12, 17] if i % 2 == 1]
print(ret2)
lis = [1, 4, 6, 7, 9, 12, 17]
ret3 = filter(lambda x:x%2 == 1,lis)
print(list(ret3))
ret3 = filter(lambda x:True if x%2 == 1 else False,lis)
print(list(ret3))
舉例:刪除 None 或者空字符串:
def is_not_empty(s):
return s and len(s.strip()) > 0
lis = list(filter(is_not_empty, ['test', None, '', 'str', ' ', 'END']))
print(lis)
11.2,map(函數名,可遍歷表)將表中的元素依次傳入前面的函數中並執行函數,將函數執行後的結果提出。
ret = map(abs,[1,-4,6,-8]) #絕對值排序
print(ret)
for i in ret:
print(i)
12,sort() sorted() 排序
15.1,sort()在原列表的基礎上進行排序,原列表改變
lis = [1,-4,6,5,-10]
lis.sort(key = abs) #按絕對值排序
print(lis)
12.2,sorted(iterable, key=None, reverse=False) # 再生成一個表,不改變原表,佔內存
參數說明:
iterable:是可迭代類型;
key:傳入一個函數名,函數的參數是可迭代類型中的每一項,根據函數的返回值大小排序;
reverse:排序規則. reverse = True 降序 或者 reverse = False 升序,有默認值。
返回值:有序列表
l1 = [1,3,5,-2,-4,-6]
l2 = sorted(l1,key=abs)
print(l1)
print(l2)