>>classmates=['Michael','Bob','Tracy']>>>classmates['Michael','Bob','Tracy']len()函數(shù)獲取list元素的個數(shù)>>>len(classmates)3用索引來訪問list中每一個位置的元素:索引從0開始,最后一個元素的索引是le" />

日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Python基礎(chǔ)學(xué)習(xí)—列表和元組

系統(tǒng) 1693 0

一、list

Python內(nèi)置的一種數(shù)據(jù)類型是列表: list
list是一種 有序的 可變的 集合,可以隨時添加和刪除其中的元素。

實例:

列表:classmates

            
              >>> classmates = ['Michael', 'Bob', 'Tracy']
>>> classmates
['Michael', 'Bob', 'Tracy']

            
          
  • len()函數(shù)獲取list元素的個數(shù)
            
              >>> len(classmates)
3

            
          
  • 用索引來訪問list中每一個位置的元素:

索引從0開始,最后一個元素的索引是 len(classmates) ‐ 1 。

            
              >>> classmates[0]
'Michael'
>>> classmates[1]
'Bob'

            
          

如果要取最后一個元素,除了計算索引位置外,還可以用 ‐1 做索引,直接獲取最后一個元素

            
              >>> classmates[-1]
'Tracy

            
          
  • list中追加元素到末尾
            
              >>> classmates.append('Adam')
>>> classmates
['Michael', 'Bob', 'Tracy', 'Adam']

            
          
  • 把元素插入到指定的位置
            
              >>> classmates.insert(1, 'Jack')
>>> classmates
['Michael', 'Jack', 'Bob', 'Tracy', 'Adam']

            
          
  • 刪除指定位置的元素:
            
              >>> classmates.pop()      ##刪除list末尾的元素
'Adam'
>>> classmates
['Michael', 'Jack', 'Bob', 'Tracy']

            
          
            
              >>> classmates.pop(1)     ##刪除指定位置的元素,其中 i 是索引位置:
'Jack'
>>> classmates
['Michael', 'Bob', 'Tracy']

            
          
  • 把某個元素替換成別的元素,可以直接賦值給對應(yīng)的索引位置:
            
              >>> classmates[1] = 'Sarah'
>>> classmates
['Michael', 'Sarah', 'Tracy']

            
          
  • list里面的元素的數(shù)據(jù)類型可以不同
            
              >>> L = ['Apple', 123, True]

            
          
  • list元素也可以是另一個list
            
              >>> s = ['python', 'java', ['asp', 'php'], 'scheme']
>>> s[2][1]
‘php’

            
          
  • 如果一個list中一個元素也沒有,就是一個空的list,它的長度為0:
            
              >>> L = []
>>> len(L)
0

            
          

二、tuple

tuple和list非常類似,但是tuple和list相比有一個很重要的區(qū)別,元組是一種 不可變型 ,即元組一旦初始化就不能修改。
因為tuple不可變,所以代碼更安全。如果可能,能用tuple代替list就盡量用tuple。

實例:

元組:classmates

            
              >>> classmates = ('Michael', 'Bob', 'Tracy')

            
          

元組classmates是不可變型,沒有append(),insert()方法。
其他獲取元素的方法和list是一樣的,可正常地使用 classmates[0] , classmates[‐1] ,但不能賦值成另外的元素。

  • tuple的陷阱:在定義tuple時,tuple的元素就必須被確定下來
            
              >>> t = (1, 2)
>>> t
(1, 2)

            
          
  • 定義一個空的tuple
            
              >>> t = ()
>>> t
()

            
          
  • 定義一個只有1個元素的tuple

定義只有1個元素的tuple時必須加一個逗號 , ,來消除歧義:

            
              >>> t = (1,)
>>> t
(1,)

            
          
  • “可變的”tuple

tuple所謂的“不變”是說,tuple的每個元素的指向永遠(yuǎn)不變。即指向 ‘a(chǎn)’ ,就不能改成指向 ‘b’ ,指向一個list,就不能改成指向其他對象,但指向的這個list本身是可變的!

            
              >>> t = ('a', 'b', ['A', 'B'])
>>> t[2][0] = 'X'
>>> t[2][1] = 'Y'
>>> t
('a', 'b', ['X', 'Y'])

            
          

三、小結(jié)

list和tuple是Python內(nèi)置的有序集合,一個可變,一個不可變,根據(jù)需要來選擇使用它們的使用場景。幸運的是,你可以通過內(nèi)建的list()和tuple()轉(zhuǎn)換函數(shù),輕松地在兩者之間轉(zhuǎn)換。
不可變類型變量的使用場景:如果你在維護一些敏感數(shù)據(jù),并且需要把這些數(shù)據(jù)傳遞給一個并不了解的函數(shù)(或許是一個根本不是你寫的API),作為一個只負(fù)責(zé)一個軟件某一部分的工程師,如果你確信你的數(shù)據(jù)不會被調(diào)用的函數(shù)篡改,你會覺得安全了許多。

可變類型參數(shù)的使用場景:在管理動態(tài)數(shù)據(jù)集合時,你需要先把它們創(chuàng)建出來,逐漸地或不定期地添加它們,或者有時還要移除一些單個元素。


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 金寨县| 永安市| 乌兰察布市| 濮阳市| 梅河口市| 锦屏县| 黄骅市| 呼伦贝尔市| 冷水江市| 莲花县| 勐海县| 通山县| 黑河市| 新化县| 涞源县| 五指山市| 来宾市| 溧水县| 苗栗县| 怀仁县| 衡东县| 类乌齐县| 东阳市| 田林县| 宁明县| 汶上县| 凌云县| 德兴市| 当雄县| 夏河县| 商城县| 清镇市| 和平县| 东兴市| 繁昌县| 临漳县| 扶绥县| 隆尧县| 新田县| 额敏县| 万盛区|