Python之一行代码
生活随笔
收集整理的這篇文章主要介紹了
Python之一行代码
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
一、三元表達(dá)式
# 三元表達(dá)式只支持雙分支結(jié)構(gòu)x,y = 10,20 print(x if x>5 else y) # 滿足if后面的條件返回x,否則返回y二、列表推導(dǎo)式
# 創(chuàng)建0~9的列表# 1.for循環(huán)方式 lt = [] for i in range(10):lt.append(i) print(lt)# 2.列表推導(dǎo)式 lt = [i for i in range(10)] print(lt)三、字典生成式
# 遇到問題沒人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:778463939 # 尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書! # 字典生成式一般與zip(拉鏈函數(shù)-->列表里面包了元組)連用 z = zip(['a', 'b', 'c', 'd'], [1, 2, 3, 4]) # 壓縮方法,Python解釋器的內(nèi)置方法# 字典生成式 dic = {k: v for k, v in z} print(dic)四、生成器
生成器:自定義迭代器,生成器就是迭代器(自己造出來的)
'''遇到問題沒人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:778463939尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書! ''' def func():yield 123 # yield會(huì)使函數(shù)func()變成生成器對(duì)象,因此它具有__iter__方法print(456) # yield會(huì)停止函數(shù),當(dāng)運(yùn)行運(yùn)行下一次next才會(huì)繼續(xù)運(yùn)行下面的代碼yield 789 # 一個(gè)yield對(duì)應(yīng)一個(gè)nextf = func() # 生成器 print(f) # <generator object func at 0x000001F0E44237D8> f_iter = f.__iter__() print(f_iter.__next__()) print(f_iter.__next__()) print(f_iter.__next__())# yield的三個(gè)特性 # 1.yield可以把函數(shù)變成生成器(自定制的迭代器對(duì)象,具有__iter__和__next__方法) # 2.yield可以停止函數(shù),在下一次next時(shí)再運(yùn)行yield下面的代碼 # 3.有n個(gè)yield生成器就有n個(gè)元素,就可以next n次,第n+1次next會(huì)報(bào)錯(cuò)# return的特性 # 1.返回值 # 2.終止函數(shù)# 用生成器自定義range函數(shù) def range(*args, step=1):args = list(args)if len(args) == 1:count = 0while count < args[0]:yield countcount += stepelif len(args) == 2:while args[0] < args[1]:yield args[0]args[0] += stepelif len(args) == 3:step = args[2]while args[0] < args[1]:yield args[0]args[0] += step五、匿名函數(shù)
# def 函數(shù)名 ---> 有名函數(shù) # 匿名函數(shù) ---> 沒有名字# 匿名函數(shù)一般不單獨(dú)使用,和filter()/map()/sorted()/列表的sort()內(nèi)置方法聯(lián)用 salary_dict = {'nick': 3000,'jason': 100000,'tank': 5000,'sean': 2000 } salary_list = list(salary_dict.items()) print(salary_list) # [('nick', 3000), ('jason', 100000), ('tank', 5000), ('sean', 2000)]salary_list.sort(key=lambda i: i[1]) # 內(nèi)置方法是對(duì)原值排序總結(jié)
以上是生活随笔為你收集整理的Python之一行代码的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python scrapy 命令行传参
- 下一篇: Python教程: 闭包及陷阱