教為學:Python學習之路(三):序列

來源:互聯網
上載者:User
文章目錄
  • 索引
  • 分區
  • 算數運算
  • 常用函數
教為學:Python學習之路(三):序列概論

Python的序列總共有六種內建序列:

列表、元組、字串、Unicode字串、buffer對象和xrange對象。

我們主要講的是列表和元組。這兩者最大的區別是列表是可以修改的,元組是不可以被修改的。

序列的特徵就是會為每一個元素分配一個序號,從零開始是第一個,反過來從最後一個開始是-1…-n。

序列的通用操作索引

代碼:

  1. #coding:utf-8
  2. months1=["1","2","3","4","5","6","7","8","9","10","11","12"]
  3. mouths2=("1","2","3","4","5","6","7","8","9","10","11","12")
  4. print months1
  5. print mouths2
  6.  
  7. print type(months1)
  8. print type(mouths2)
  9.  
  10. print months1[1]
  11. print months1[-1]

結果:

  1. ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12']
  2. ('1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12')
  3. <type 'list'>
  4. <type 'tuple'>
  5. 2
  6. 12

所謂索引,有過其他語言編程經驗的都知道,有個叫數組下標的東西,不過,索引更強大,可以反向,而其他語言一般都不可以。

當然索引也是序列的主要特徵。

如果要在形式上區分這兩者,中括弧包圍的是列表,小括弧包圍的是元組。

當然在這裡我們還要還要介紹一個非常強大的命令dir:

源碼:

  1. months1=["1","2","3","4","5","6","7","8","9","10","11","12"]
  2. mouths2=("1","2","3","4","5","6","7","8","9","10","11","12")
  3. print dir(months1)
  4. print dir(mouths2)

結果:

  1. ['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getslice__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__setslice__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
  2. ['__add__', '__class__', '__contains__', '__delattr__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__getslice__', '__gt__', '__hash__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'count', 'index']

這裡是列出該變數所能用的所有方法。

分區

分區和索引的區別在於索引是用來訪問一個元素,而分區是用來訪問一組元素。

  1. months=["1","2","3","4","5","6","7","8","9","10","11","12"]
  2. #從序號3到序號5
  3. print months[3:6]
  4. #從序號0到序號3
  5. print months[:3]
  6. print months[0:3]
  7. #加入步長
  8. print months[::1]
  9. print months[::2]
  10. print months[::3]

結果:

  1. ['4', '5', '6']
  2. ['1', '2', '3']
  3. ['1', '2', '3']
  4. ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12']
  5. ['1', '3', '5', '7', '9', '11']
  6. ['1', '4', '7', '10']

分區這東西聽起來很神奇,做起很簡單。

兩個冒號隔離三個部分,起始位置,結束位置+1,步劃

算數運算

源碼

  1. a=[1,2,3]
  2. b=[4,5,6]
  3. print a+b
  4. print a*5

結果:

  1. [1, 2, 3, 4, 5, 6]
  2. [1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3]

理解起來並不困難。

常用函數
  1. a=[1,2,3]
  2. print len(a)
  3. print max(a)
  4. print min(a)

結果:

  1. 3
  2. 3
  3. 1
列表
  1. a=[1,2,3]
  2. a.append(4)
  3. print a
  4. a=[1,1,1,2,2,3]
  5. print a.count(1)
  6. print a.count(2)
  7. print a.count(3)
  8. a=[1,2,3]
  9. b=[4,5,6]
  10. print a+b
  11. a.extend(b)
  12. print a
  13. print a.index(4)
  14. a.insert(3,'aaaa')
  15. print a
  16. print a.pop()
  17. print a
  18. print a.remove('aaaa')
  19. print a
  20. print a.reverse()
  21. print a
  22. a=[3,312,342,23,6,9]
  23. print a
  24. a.sort()
  25. print a

結果:

  1. [1, 2, 3, 4]
  2. 3
  3. 2
  4. 1
  5. [1, 2, 3, 4, 5, 6]
  6. [1, 2, 3, 4, 5, 6]
  7. 3
  8. [1, 2, 3, 'aaaa', 4, 5, 6]
  9. 6
  10. [1, 2, 3, 'aaaa', 4, 5]
  11. None
  12. [1, 2, 3, 4, 5]
  13. None
  14. [5, 4, 3, 2, 1]
  15. [3, 312, 342, 23, 6, 9]
  16. [3, 6, 9, 23, 312, 342]

對於這一大對的方法,除了我們上面所說的dir查看有什麼方法之外,還有一個方法可以用,查看方法的用法。

代碼

  1. a=[1,2,3]
  2. help(a.insert)

結果如下:

  1. insert(...)
  2.     L.insert(index, object) -- insert object before index
元組

元組本質上是一個去除修改內容的列表,一切可以修改列表內容的函數都不可用。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.