Python(三)

來源:互聯網
上載者:User

標籤:指定   切片   迭代   print   函數   包括   isa   code   並且   

切片 只用一個 : ,表示從頭到尾:
>>> L[:][‘Adam‘, ‘Lisa‘, ‘Bart‘, ‘Paul‘]
切片操作還可以指定第三個參數:第三個參數表示每N個取一個,上面的 L[::2] 會每兩個元素取出一個來,也就是隔一個取一個。

把list換成tuple,切片操作完全相同,只是切片的結果也變成了tuple。

迭代

迭代操作就是對於一個集合,無論該集合是有序還是無序,我們用 for 迴圈總是可以依次取出集合的每一個元素。

注意: 集合是指包含一組元素的資料結構,我們已經介紹的包括:
1 有序集合:list,tuple,str和unicode;

2 無序集合:set
3 無序集合并且具有 key-value 對:dict

例題:請用for迴圈迭代數列 1-100 並列印出7的倍數。
for i in range(1, 100)[6::7]:    print i
Python中,迭代永遠是取出元素本身,而非元素的索引。想要取出索引要用 enumerate() 函數
>>> L = [‘Adam‘, ‘Lisa‘, ‘Bart‘, ‘Paul‘]>>> for index, name in enumerate(L):...     print index, ‘-‘, name... 0 - Adam1 - Lisa2 - Bart3 - Paul

enumerate() 函數把:
[‘Adam‘, ‘Lisa‘, ‘Bart‘, ‘Paul‘]
變成了類似:
[(0, ‘Adam‘), (1, ‘Lisa‘), (2, ‘Bart‘), (3, ‘Paul‘)]
因此,迭代的每一個元素實際上是一個tuple:

for t in enumerate(L):    index = t[0]    name = t[1]    print index, ‘-‘, name

索引迭代也不是真的按索引訪問,而是由 enumerate() 函數自動把每個元素變成 (index, element) 這樣的tuple,再迭代,就同時獲得了索引和元素本身。

  1. values() 方法實際上把一個 dict 轉換成了包含 value 的list。

  2. 但是 itervalues() 方法不會轉換,它會在迭代過程中依次從 dict 中取出 value,所以 itervalues() 方法比 values() 方法節省了產生 list 所需的記憶體。

  3. 列印 itervalues() 發現它返回一個

如果一個對象說自己可迭代,那我們就直接用 for 迴圈去迭代它,可見,迭代是一種抽象的資料操作,它不對迭代對象內部的資料有任何要求。

利用 3 層for迴圈的列表產生式,找出對稱的 3 位元。例如,121 就是對稱數,因為從右至左倒過來還是 121。

注意三種方法的思想

L=[]for x in range(1,10):    for y in range(10):        for z in range(1,10):            if x==z :                L.append(100*x+10*y+z)print Lprint [100 * x + 10 * y + z for x in range(1, 10) for y in range(10) for z in range(10) if x==z]print [x for x in range(100,1000) if str(x)[0]==str(x)[-1]]

Python(三)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.