內置函數2

# 元祖和列表
# list:將一個可迭代對象轉化成列表,(若是是字典,默認將key做爲列表的元素)
# tuple:將一個可迭代對象轉化成元祖,(若是是字典,默認將key做爲元祖的元素)
# reversed:將一個序列翻轉,並返回此翻轉序列的迭代器。
# li=[1,6,2,9,4,5]
# reversed(li)
# print(reversed(li))
# for i in reversed(li):
#     print(i)
#
# s1='sgdshh'
# for i in reversed(s1):
#     print(i)
# dic={'name':'alex','age':10000,'hobby':'oldwomen'}
# reversed(dic)                  #字典不可翻轉
# for i in reversed(dic):
#     print(i)
# slice: 構造一個切片對象,用於列表的切片

# li=[i for i in range(10)]
# print(li)
# li=[1,2,3,4,0,9,8,7,6,5]
# for i in range(li):
#     print(i)
# for i,j in enumerate(li,1):
#     print(i,j)
# range
# li=[i for i in range(10)]
# l2=li[:5:2]
# l3=[i for i in range(10,20)]
# sli_obj=slice(0,5,2)     #構造一個切片對象,用於列表的切片
# print(l3[sli_obj])
# l4=['a','b','c','d','e']
# print(l4[sli_obj])
# bytes: unicode-->bytes類型

# a1='太白'
# print(a1.encode('utf-8'))     #編碼
# print(a1.encode('utf-8').decode('utf-8'))  #解碼
# bytes: unicode-->bytes類型
# a1='太白'
# b1=bytes(a1,encoding='utf-8')   #編碼
# print(b1)
# ord:輸入字符找到該字符的字符編碼 unicode 的位置
# print(ord('a'))
# print(ord('中'))
# chr:輸入位置數字找到其對應的字符 unicode

# print(chr(97))
# print(chr(20013))
# ascii:在ascii碼中,則返回該值,不在則返回他在unicode的位置(十六進制)
# print(ascii('a'))
# print(ascii('中'))
# repr:返回一個對象的string形式
# print(repr('alex'))            #打印括號內所有的內容
# print(repr("{'alex':'SB'}"))


# 重點:repr(),json pickle 序列化模塊 特殊字符串,python 字符串的區別
# 格式化輸出
# msg='alex 是 %r 的人'%('德高望重')  #格式化輸出,r 輸出括號內所有的內容
# print(msg)
# sorted:對全部可迭代對象進行排序操做
# l1=[4,2,1,5,9,0,7,9,5,4,2]
# # l1.sort()    #對原列表操做
# # print(l1)    #
# print(sorted(l1))    #造成一個新列表
# print(l1)         #原列表不變

# l2=[(1,1000),(2,18),(4,250),(3,500)]
# print(sorted(l2))                #根據列表元素內元素的首個數字排列

# def func(x):
#     return x
# print(sorted(l2,key=func))
# def func(x):
#     return x[1]
# print(sorted(l2,key=func))     #根據列表元素內元素的第二個數字排列

# def func(x):
#     return x[1]
# print(sorted(l2,key=func,reverse=True))   #根據列表元素內元素的第二個數字反轉排列
#zip:函數用於將可迭代的對象做爲參數,將對象中對應的元素打包成一個個元祖
# ,而後返回一個個元祖組成的列
# # 拉鍊方法表
# l1=[1,2,3,4,5]
# l2=('alex','日天','wusir')
# l3={'name':'日天','age':18,'hobby':'tea','weight':100}
# print(zip(l1,l2,l3))     #迭代器
# print(next(zip(l1,l2,l3)))   #迭代器取值
# for i in zip(l1,l2,l3):
#     print(i)                #迭代器 for 循環
#
# print(list(zip(l1,l2,l3)))    #獲得一個個元祖組成的列表
# filter  :過濾,迭代器
# li=[i for i in range(10)]
# def func1(x):
#     return x%2==0
# print(list(filter(func1,li)))   #用法:filter(調用函數,迭代對象)
# map 會根據提供的函數對指定的序列作映射,循環模式
# li=[1,2,3,4]
# print(i for i in li)
# def func(x):return x**2
# print(list(map(func,li)))     #用法:map(調用函數,迭代對象

 

# print() sum reversed
# key: min max map sorted filter zip

 

#匿名函數 lambda 表達式
# 普通函數 有且只有返回值的函數才能夠用匿名函數進行簡化,一行代碼

# func2=lambda x:x*2
# def func2(x):
#     return x*2
# print(func2(6))

# func2=lambda x,y:x+y
# print(func2(1,2))

# l2 = [(1,1000),(2,18),(4,250),(3,500)]
# def func(x):
#     return x
# print(sorted(l2,key=func))
# print(sorted(l2,key=lambda x:x))      #匿名函數,根據第一個元素的第一個數字排列
# print(sorted(l2,key=lambda x:x[1]))

 

#   匿名函數格式: 函數名=lambda x:條件

# dic={'k1':10,'k2':100,'k3':30}
#1,利用內置函數匿名函數將dic按照值進行排序。
# l1=[1,5,7,4,8]
# 利用內置函數匿名函數 計算列表的每一個數的2倍。
# l2=[5,8,11,9,15]
# 利用內置函數匿名函數,將值大於10的留下來。

# def func(x):
#     return x[1]
# print(sorted(dic.items(), key= func))

# print(sorted(dic.items(), key=lambda x:x[1]))

# def func(x):
#     return x*2
# print(list(map(func,l1)))

# print(list(map(lambda x:x*2,l1)))

# def func(x):
#     return  x>10
# print(list(filter(func,l2)))

# print(list(filter(lambda x:x>10,l2)))
# 遞歸函數
# def func():
#     print(666)
#     func()
# func()
# 查看循環了多少次
# def func(n):
#     print(n)
#     n+=1
#     func(n)
# func(1)
# alex  比 wusir 大兩歲 n = 4
# wusir 比日天 大兩歲 n= 3
# 日天 比太白 大兩歲 n = 2
# 太白 24歲 n = 1
# def age(n):
#     if n==1:
#         return 24
#     else:
#         return age(n-1)+2
# print(age(4))
相關文章
相關標籤/搜索