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_