1. 程式人生 > >python之推導式

python之推導式

1、推導式

推導式:comprehensions(又稱解析式),是Python的一種獨有特性,相當於語法糖的存在,在某些時候可以簡化程式碼。

2、列表推導式

PYTHON提供的一種可以快速生成列表的方式,列表推導式
語法:變數 = [推導表示式]
(1)最基本的列表推導式

my_list1 = [x for x in range(0,10)]
print(my_list1)
# 結果:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

想當於:

my_list1 = list()
for i in rang(0,10):
    my_list1.append(i)
print
(my_list1)

(2)附帶運算的列表推導式

my_list2 = [x**2 for x in range(0,10)]
print(my_list2)
# 結果:[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

相當於x每取一個數值,都要進行平方運算,然後在存到列表中。
(3)附帶條件的列表推導式

my_list3 = [x for x in range(0,20) if x % 2 == 0]
print(my_list3)
# 結果:[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]

(4)多重迴圈的列表推導式

my_list4 = [x + y for
x in range(0,5) for y in range(0,2)] print(my_list4) # x :0 1 2 3 4 # y :0 1 # 結果:[0, 1, 1, 2, 2, 3, 3, 4, 4, 5]

(5)更多用法:

my_dict = {"tom":"18","jerry":"19","ruiwen":"18"}
my_list5 = [k+":"+v for k,v in my_dict.items()]
print(my_list5)
# 結果:['tom:18', 'jerry:19', 'ruiwen:18']

3、集合推導式

與列表推導式差不多一樣,只不過是將[ ]

換為{ }

my_dict = {"tom":"18","jerry":"19","ruiwen":"18"}
my_set = {k+":"+v for k,v in my_dict.items()}
print(my_set)
# 結果:{'ruiwen:18', 'tom:18', 'jerry:19'}

4、字典推導式

my_dict = {x:x for x in range(5)}
print(my_dict)
# 結果:{0: 0, 1: 1, 2: 2, 3: 3, 4: 4}

5、四種基本組合資料型別,列表、集合和字典都可以用推導式那麼元組能不能呢?

答案:不能,pthon中,將( )用於了生成器

my_tuple = (x for x in range(10))
print(type(my_tuple))
# 結果:<generator object <genexpr> at 0x00000191B4F22CA8>
    <class 'generator'>

不過可以通過型別強制性轉換,將生成器轉換為對應的型別資料

print(tuple(my_tuple))
# 結果:(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)

相關推薦

Python推導、生成器表達

body ret res log for循環 簡單的 就是 使用 () l = [i for i in range(10)] print(l) l1 = [‘選項%s‘%i for i in range(10)] print(l1) 1.把列表解析的[]換成()得到的就

python推導

1、推導式 推導式:comprehensions(又稱解析式),是Python的一種獨有特性,相當於語法糖的存在,在某些時候可以簡化程式碼。 2、列表推導式 PYTHON提供的一種可以快速生成列表的方式,列表推導式 語法:變數 = [推導表示式] (1

python 推導

 推導式 : 英文 comprehension  支援推導式的有列表list      字典dict      集合set      注意元組沒有 推導式,如果你那樣去寫,他會變成一個generator生成器物件  推導式會讓程式碼更加簡潔,易懂,更加pythonic

python列表推導(列表生成)的強大

毫無疑問程式設計師的工作是辛苦的,熬夜加班,未知的bug,頻繁變動的需求,老闆奇葩的想法,繁重的開發任務……然而,仍然有那麼多的人堅守崗位,以便抱怨,一邊沉浸在程式碼的汪洋中因為當解決一個困擾許久的bug,實現一個不常規的功能,當成功的從一段優化到極致的程式碼中再次優化提升執

python列表推導中使用if-else

python列表推導式 if-else 今天在處理自動化郵件數據時碰到數據行中包含字符串後,從hive中拿到的整數型數據自動轉化成了浮點數,嚴重影響美觀性。因此想到了用列表推導式來做轉化,將其中的數字型數據全部轉化為整型,而字符型數據保留原樣。列表推導式總共有兩種形式:①[x for x in data

python列表推導

lai com expr 實際應用 http port ack ron dig python基礎——列表推導式 1 列表推導式定義 列表推導式能非常簡潔的構造一個新列表:只用一條簡潔的表達式即可對得到的元素進行轉換變形 2 列表推導式語法 基本格式如下:

初學python解析

推導式解析式 其目的主要用來減少編程行數,並減少棧幀從而達到代碼優化的效果 In [6]: [i ** 2 for i in range(11)]Out[6]: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100] 將生產環節元素表達式放在最前面 列表解析語法[返回值 for 元

python3進階推導4集合(set)推導(comprehensions)

列表推導 pre AS com highlight 不可 except exce tput 1.前言 跟列表推導式也是類似的, 區別在於它使用大括號{}。 2.實例 示例1 s = {x**2 for x in [1, 1, 2]} print(s)

python --012--推導

推導式 字典推導式 集合推導式 Python的推導式 python的推到式(列表推導式,字典推導式,集合推導式)推導式:comprehensions(解析式)是python中獨特的特性,推到式是可以從一個數據結構序列構件另外一個數據 三種推導式 1、列表推導式 2、字典推導

python各種推導分析

tip square toolbar 小寫 直接 大小寫 list 支持 == 推導式comprehensions(又稱解析式),是Python的一種獨有特性。推導式是可以從一個數據序列構建另一個新的數據序列的結構體。 共有三種推導,在Python2和3中都有支持: 列表

day15(PYTHON推導{生成器,字典,列表,集合}

#[每一個元素或者是和元素相關的操作 for 元素 in 可迭代資料型別] #遍歷之後挨個處理 #[滿足條件的元素相關的操作 for 元素 in 可迭代資料型別 if 元素相關的條件] #篩選功能 # #30以內所有能被3整除的數 ret = [i for i in range(30) if

python推導

推導式套路 variable = [out_exp_res for out_exp in input_list if out_exp == 2] out_exp_res:  #列表生成元素表示式,可以是有返回值的函式。 for out_exp in input_list:  #迭

Python 列表推導

一、列表推導式語法: [每一個元素或者是和元素相關的操作 for 元素 in 可迭代資料型別]       #遍歷之後挨個處理 [滿足條件的元素相關的操作 for 元素 in 可迭代資料型別 if 元素相關的條件]   #篩選功能   二、例項: '''列表推導式練習題:例1: 過濾掉長

python 基礎 --推導

一、列表推導式: 語法:list=[元素1 for 元素2 in 序列 if 條件 ] for迴圈遍歷序列將值取出判斷是否滿足if的條件,如果滿足,將元素2的值賦給元素1,再由元素1新增給list列表 注意:元素1和元素2是同一個變數 a=[i**2 for

python推導(列表推導、字典推導、集合推導

一、list列表推導式 參考程式碼 start_urls = ["http://hz.jiwu.com/esf/list-page"+str(page)+".html" for page in range(1,5)] http://hz.jiwu

Python列表推導的使用和一些遍歷技巧

參考連結 # -*-coding:utf8-*- # 用列表推導式求矩陣的轉置 a = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]

Python基礎——推導

推導式: 定義:推導式comprehensions(又稱解析式),是Python的一種獨有特性。推導式是可以從一個數據序列構建另一個新的資料序列。   一.列表推導式: 1.基本格式: 變數名 = [表示式 for 臨時變數 in 列表] 2.練習: 將lst中每一個元

python生成器推導

1.生成器推導式是繼列表推導式後的有一中python推導式,他比列表推導式速度更快,佔用的記憶體也更少。2.使用生成器物件時,可以根據需要將他轉化為列表或者元組,也可以是喲個生成器對像__next__(

python基礎列表推導

color 大小寫 enc div 集合 基礎 整除 列表推導 pytho 1、列表推導式 1.1、求0~29之間能被3整除的數 ret = [i for i in range(30) if i%3 ==0] print(ret)   輸出結果: [0, 3, 6,

Python基礎各種推導玩法

pri 返回 適用於 推導式 font err 叠代 list 等等 一、推導式套路 除了我們之前所學習的列表推導式和生成器表達式之外,還有字典推導式、集合推導式等等。 下面就是一個以列表推導式為例的推導式詳細格式,同樣適用於其他推導式。 variable = [out_