Python基础教程:列表、字典、集合推导式
生活随笔
收集整理的這篇文章主要介紹了
Python基础教程:列表、字典、集合推导式
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
下面是一個(gè)以列表推導(dǎo)式為例的推導(dǎo)式詳細(xì)格式,同樣適用于其他推導(dǎo)式。
variable = [out_exp_res for out_exp in input_list if out_exp == 2]out_exp_res: #列表生成元素表達(dá)式,可以是有返回值的函數(shù)。for out_exp in input_list: #迭代input_list將out_exp傳入out_exp_res表達(dá)式中。if out_exp == 2: #根據(jù)條件過(guò)濾哪些值可以。列表推導(dǎo)式
例一:30以內(nèi)所有能被3整除的數(shù)
multiples = [i for i in range(30) if i % 3 is 0] print(multiples) # Output: [0, 3, 6, 9, 12, 15, 18, 21, 24, 27]例二:30以內(nèi)所有能被3整除的數(shù)的平方
''' 學(xué)習(xí)中遇到問(wèn)題沒人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:531509025 尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書! ''' def squared(x):return x*x multiples = [squared(i) for i in range(30) if i % 3 is 0] print(multiples)例三:找到嵌套列表中名字含有兩個(gè)‘e’的所有名字
names = [['Tom', 'Billy', 'Jefferson', 'Andrew', 'Wesley', 'Steven', 'Joe'],['Alice', 'Jill', 'Ana', 'Wendy', 'Jennifer', 'Sherry', 'Eva']]print([name for lst in names for name in lst if name.count('e') >= 2]) # 注意遍歷順序,這是實(shí)現(xiàn)的關(guān)鍵字典推導(dǎo)式
例一:將一個(gè)字典的key和value對(duì)調(diào)
mcase = {'a': 10, 'b': 34} mcase_frequency = {mcase[k]: k for k in mcase} print(mcase_frequency)例二:合并大小寫對(duì)應(yīng)的value值,將k統(tǒng)一成小寫
''' 學(xué)習(xí)中遇到問(wèn)題沒人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:531509025 尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書! ''' mcase = {'a': 10, 'b': 34, 'A': 7, 'Z': 3} mcase_frequency = {k.lower(): mcase.get(k.lower(), 0) + mcase.get(k.upper(), 0) for k in mcase.keys()} print(mcase_frequency)集合推導(dǎo)式
例:計(jì)算列表中每個(gè)值的平方,自帶去重功能
squared = {x**2 for x in [1, -1, 2]} print(squared) # Output: set([1, 4])總結(jié)
以上是生活随笔為你收集整理的Python基础教程:列表、字典、集合推导式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python基础教程:修改Python列
- 下一篇: python参数的可变参数与关键词参数