標籤:lis 元組 type div 內建函數 賦值 str ice range
繼續內建函數,zip函數被比喻成拉鏈,將兩邊的齒對應起來。
#!/usr/bin/env python# coding:utf-8## 比喻像個拉鏈,將兩邊對應起來。# 多出來的部分,不作處理。print(list(zip((‘a‘,‘b‘,‘c‘),(11,22,33))))print(list(zip((‘a‘,‘b‘,‘c‘),(11,22,33,44))))print(list(zip((‘a‘,‘b‘,‘c‘,‘d‘),(11,22,33,))))# 拆分字典的元素dic = {‘name‘:‘tom‘,‘age‘:22, ‘gender‘:‘male‘}print(list(zip(dic.keys(),dic.values())))print(list(zip(‘abcde‘,‘123456‘)))## 使用zip方法來處理字典中值最大的一組age_dic={‘tom_age‘:81,‘jerry_age‘:133,‘louis_age‘:88,‘bob_age‘:55}print(max(age_dic.values()))print(max(zip(age_dic.values(),age_dic.keys()))) # 把V和K顛倒,就方便使用max了。dic2=( {‘name‘:‘tom‘,‘age‘:33}, {‘name‘:‘abc‘,‘age‘:88}, {‘name‘:‘bob‘,‘age‘:66}, {‘name‘:‘jim‘,‘age‘:44},)# max可以使用key方法,傳一個函數進去。# 相當於把 元組或列表進行了for迴圈處理。print(max(dic2, key=lambda item:item[‘age‘]))
還有另外幾個內建函數:
#!/usr/bin/env python# coding:utf-8print(pow(3,3))print(pow(3,3,4)) # 第三個參數是3**3後的取餘a = ‘python‘s1 = slice(3,5) # 切片函數# print(a[3:5])print(a[s1])s2 =slice(3,6,2) # 步長為2print(a[s2])b = [3,2,1,7,5]print(sorted(b)) # 排序函數dic = {‘k11‘:3000,‘k6‘:5000,‘k3‘:6000,‘k4‘:8000,‘k2‘:7000}# print(sorted(dic))print(sorted(dic,key=lambda k:dic[k])) # 按字典的值進行排序print(sorted(zip(dic.values(),dic.keys()))) # 拿到按值排序後的值和keyprint(sum(b))print(sum(range(5))) # 從0加到4哦print(list(range(5)))msg=‘123‘if type(msg) is str: # type用於判斷變數類型 print(int(msg)+2)def test(): a = ‘ert‘ print(locals()) # 列印當前範圍中的變數,字典形式 print(vars()) # 沒有參數時,等同於locals()test()
還有 import 和 __import__
test.py檔案的內容:
#!/usr/bin/env python# coding:utf-8def func(): print(‘hello,python‘)
test2.py的內容:
#!/usr/bin/env python# coding:utf-8def abc(): print(‘aaaaaaaaaaaaaa‘)
接下來,對比一下兩種 import 的使用區別
#!/usr/bin/env python# coding:utf-8import test # 匯入test.py模組,也就是匯入這個檔案的內容。test.func() # 使用test模組中的函數## __import__ 則是匯入字串命名形式的模組# m_name = ‘test2‘m = __import__(‘test2‘) # 匯入以字串命名的模組, 必須要賦值給變數m.abc()#### import >> sys >> __import__## import 會去調用sys, 底層還是使用 __import__ 方法。
這些是筆記,可能看起來有點亂,等以後越來越熟悉之後再仔細整理。
python基礎13_zip_import