python進階內建函數和各種推導式的介紹:一行搞定的代碼

來源:互聯網
上載者:User

標籤:fun   根據   style   color   ted   int   bsp   rabl   menu   

一、知識要點all 都為真any 有真的min 最小的max 最大的sum 求和reversed 反轉sorted 排序zip 對應合并[] 列表推倒式() 產生器{} 字典推倒式set 去重if三元操作符 xx if x else yennmerate 枚舉,帶索引 二、 代碼
"1. all"# 參數為一個可迭代的對象(Iterable)m =[1, 2, 3, 4, ‘‘]  # 當然不是這樣簡答的使用print(all(m))def a1():    # 完成一系列操作    return Falsedef a2():    # 完成一系列操作    return Truedef a3():    # 完成一系列操作    return Trueif all([not a1(),a2(),a3()]):    # 前一個為假,最後為真運行這裡    print(‘are u ok‘)"2. any"# 只要有真的就運行,參數也是一個可迭代的對象print(any([0,‘‘,‘ ‘]))  # True"3. min,max"print(min([10,2,3,4,5]))print(max([10,2,3,4,5]))"4. sum"# 兩個參數:第一個參數可迭代的對象數組,第二個參數為前面累加和 再加上這個參數,當第一個參數為空白,直接返回第二個參數print(sum(range(100),10))"5. reversed"# 對一個序列進行反轉,返回一個可迭代的對象li_m = [123,32,234,2123,43,12,53]for i in reversed(li_m):    print(i)[i for i in reversed(li_m)]  # 使用列表推倒式一行搞定"6. sorted排序"# 預設的列表排序li_m = [123,32,234,2123,43,12,53]li_m.sort()  # 有兩個參數 key 與 reveredprint(li_m)# sorted 是返回一個新列表new_li = sorted([1,34,123,111,23])print(new_li)new_li = sorted([-1,-3,-9,2,4], key=abs)  # 根據絕對值進行排序,也可以使用lambda排序print(new_li)"7. zip"# 拉鏈,合并兩個序列(一一對應)x = [1,2,3,4,5]y = [‘a‘, ‘b‘, ‘c‘]print(list(zip(x, y)))print(dict(zip(x,y)))"8. 推倒式"# 列表推倒-->也可以使用map推到,但是比較麻煩print([x for x in range(10)])print([x*100 for x in range(10)])# 產生器運算式----> 優先使用這個,節約記憶體print((x**3 for x in range(8)))for i in (x**3 for x in range(8)):    print(i)# 字典推導式# 把下面的v轉換為大寫info = {‘louhui‘:‘hz‘,‘laoniu‘:‘hengxi‘,‘caoyu‘:‘dongwu‘}# 1,常規做法info_new = {}for k,v in info.items():    info_new[k] = v.upper()print(info_new)# 2. 字典推到a = {k:v.upper() for k,v in info.items()}print(a)"9. 去重"s = [1,2,2,2,33,43,3,3,3,]ss = set(s)print(ss)"10. 三元操作符"# 前面是傳回值,如何為真,則用前面,為假則為後面的值True if s == ‘a‘ else False# 一般用在函數的傳回值def func(s):    # many    return True if s ==‘a‘ else False"11. 枚舉"# 就是給列表加上下表menu = [‘add‘, ‘del‘, ‘modfiy‘, ‘find‘]for num, m in enumerate(menu):    print(num+1,m)

 

python進階內建函數和各種推導式的介紹:一行搞定的代碼

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.