1. 程式人生 > >Python基礎——高階特性

Python基礎——高階特性

切片

切片操作是用來將list或者tuple中某些片段取出來的操作。
如:

x = [1,2,3,4,5]
x[0:5:2]

輸出結果就為[1,3,5]
表示從腳標0開始取值,取到腳標為5的值(此值不要),兩個值取一次。
要注意list中支援負數取值。所以有:

x = [1,2,3,4,5]
x[-3:-1]

結果為[3,4] 同理,也可以隔幾個取一次值。

迭代

迭代使用的是for...in...的形式,Python中可以迭代一切可迭代的物件。可迭代的物件包括list、tuple、dict、set、字串等。

for x in 'absolute':
    print
x

列表生成式

如果我們需要建立一組連續的數,可以這麼來建立。

range(1,11)

使用迭代式for x in range(1,11)則會有1到10輸出。若我們要輸出的是x的平方,或是關於x的其它函式,我們可以使用列表生成式
[x*x for x in range(1,11)]
列表生成式的形式比較靈活,還可以在其中加入條件判斷
[x*x for x in range(1,11) if x%2==0]

生成器

我們對range(1,11)的數進行迭代或許我們不覺得佔用很多記憶體,但是如果我們需要迭代的數量很大,我們每次迭代只需其中的一個數字卻佔用了大量的記憶體,這就是一種記憶體的浪費。
生成器可以幫助我們節省記憶體。寫法是將列表生成式的[]變成()

f = (x for x in range(1,11))
for x in f:
    print x

相關推薦

Python基礎——高階特性

切片 切片操作是用來將list或者tuple中某些片段取出來的操作。 如: x = [1,2,3,4,5] x[0:5:2] 輸出結果就為[1,3,5] 表示從腳標0開始取值,取到腳標為5的值(此值不要),兩個值取一次。 要注意list中支援負數

python學習-基礎-高階特性

高階特性 print(list(range(1, 100, 2))) 切片 #切片 字串,物件,陣列都可以使用 print(list(range(1, 100, 2))) list1 = ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jac

Python基礎-高階函數

int style 一個 python基礎 def abs font color ont 1、高階函數變量可以指向函數函數的參數可以接收變量一個函數可以接收另一個函數作為參數 def f(n): return n * n def fansik(a, b, func

聰哥哥教你學Python高階特性

記得曾經在學Java的時候,通常是這麼學的,從基礎的語法高階特性,這一塊統稱為JavaSE,然後再到JavaWeb,最後到框架這一塊。那麼Python也有其對應的高階特性。其實在聰哥哥我看來,無論任何程式語言,基本都是這一套。只不過每個程式設計在其特有的領域有其特定的優勢。比如拿區塊鏈來說,其實Ja

Python高階特性切片與迭代篇

切片篇 1.為什麼用切片? 切片的存在極大的減少了程式的複雜性,比如對一個list型別數,想要取前n個數,避免不了要用迴圈來解決問題,當有了切片後這個問題就迎刃而解了。 2.切片適用於? 切片不僅適應於list和tuple型別(切過後型別仍然是tuple),而且擔任string型別的

Python基礎——高階函式

什麼是高階函式?我們以實際程式碼為例子,一步一步深入概念。 變數可以指向函式 以Python內建的求絕對值的函式abs()為例,呼叫該函式用以下程式碼: print(abs(-10)) 輸出 10 但是,如果只寫abs呢? print(abs) 輸出 &l

Python高階特性之切片(slice)

    在瞭解什麼是切片之前,先考慮一個問題:給定一個字串或者陣列,在Python中如何取其中的一部分資料。比如說我們要取前五個數或者前五個字元。在C++或者Java中底層都封裝了很好的庫函式給我們直接呼叫,比如Java中有subString,那麼在Python中,我們首先

Java基礎-高階特性-簡單總結(網路程式設計)

網路分類:    按照地理覆蓋範圍,計算機網路可以劃分為區域網、都會網路和廣域網。網路分層:       TCP/IP有兩種分層形式:    早期的四層模型,由下到上分別是:網路介面層,網際網路層,傳輸層,應用層。    改良後的五層模型,由下到上分別是:物理層,資料鏈路層,

python 函式高階特性

迭代  可以通過 for 迴圈來遍歷這個 list 或 tuple,這種遍歷我們稱為迭代(Iteration)  只要是可迭代物件,無論有無下標,都可以迭代,比如 dict就可以迭代 判斷一個物件是否可迭代     方法是通過 collections 模組的 Itera

Python高階特性

#!/usr/bin/python# -*- coding: utf-8 -*-# 高階特性# 掌握了Python的資料型別、語句和函式,基本上就可以編寫很多有用的程式了。# 比如構造一個1,3,5,7,...,99的列表,可以通過迴圈實現Li = []n = 1while

Java基礎-高階特性-簡單總結(I/O和反射機制)

    Java中按照流向分,分為輸入流和輸出流,按照處理資料單元分,分為字元流和位元組流。這個總結開始會簡單寫一點方法,然後會寫一下常用模板,套用就好了。File類的常用方法:方法說明boolean exists( )測試檔案是否存在String getAbsolutePa

python 基礎高階函式,正則表示式,md5加密演算法

import hashlib hash=hashlib.md5() hash.update("123456") print hash.hexdigest() random.random()浮點數 0

python基礎知識5(集合,高級特性高階函數)

python** 刪除列表中重復的元素:l = [1,2,3,1,2,3]- 強制轉化列表為集合類型:list(set(l))- 將列表轉化為字典,拿出裏面的所有key值: dict.fromkeys(l).keys()** 實現switch的兩種方法:- if...elif...else...- 通過字典實

Python語法基礎|高階用法|高階特性:匿名函式lambda

定義一個普通函式,起碼需要def關鍵字+函式名+函式體。而lambda可定義一個匿名函式。   >>> add = lambda x,y:x+y >>> type(add) <type 'function'>   lambd

python基礎(一):高階特性

切片: 用於提取陣列或者元組內部分元素 e.g: 迭代 使用for迴圈來遍歷list或者tuple e.g 請使用迭代查詢一個list中最小和最大值,並返回一個tuple: def find(l): if l!=[]: max

python基礎8之類的特性講解

attr blog 成員 私有方法 -s error 對象 構造 size 一、概述 在上篇博客中我們已經講了一些關於類的知識,我們來回顧以下: 定義類(class dog(object))-> 實例化(d = dog()) -> 實例化對象(d) __ini

Python基礎筆記:函數式編程:高階函數、返回函數、匿名函數、裝飾器、偏函數

iterator 因此 sum() hello 存在 不返回 原因 結構 接受 高階函數 高階函數:一個函數可以接收另一個函數作為參數 或 一個函數可以返回一個函數作為返回值,這種函數稱之為高階函數。 #函數 add 接收 f 函數作為參數 >>> de

python基礎6—(高階,匿名,偏)函數 | 裝飾器

gpo cond result css *args start div tools lte 這裏比較的高級了, 學到這裏感覺有點意思,但是也看到了和其他語言相通點 高階函數 可以把別的函數作為參數傳入的函數叫高階函數 def add(x, y, f): r

學習筆記-Python基礎13-高階函數補充

name med 高階函數 筆記 bsp image python 問題 enumerate zip   把兩個可叠代內容生成一個可叠代的tuple元素類型組成的內容    enumerate   跟zip功能比較像   對可叠代對象裏的每一元素,配上一個索引,然後索引和

Python高階特性——切片

Python高階特性一(切片):  有序列表元組的切片:     L=list(range(100))——生成0~100的自然數     取前十位——L[:10]     取前十位,每兩位取一位——L[:10:2]     取80~90——L[80:90]或者L[-20:-10]     取所有數,每五個取一