最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python中列表、字典、元組數據結構的簡單學習筆記

 更新時間:2016年03月20日 23:16:38   作者:Flyaway  
這篇文章主要介紹了Python中列表、字典、元組數據結構的簡單學習筆記,文中講到了字典在Python3中特性和操作方法的一些變化,需要的朋友可以參考下

列表

列表是Python中最具靈活性的有序集合對象類型。與字符串不同的是,列表可以包含任何類型的對象:數字、字符串甚至其他列表。列表是可變對象,它支持原地修改的操作。

Python的列表是:

  • 任意對象的有序集合
  • 通過偏移讀取
  • 可變長度、異構以及任意嵌套
  • 屬于可變序列的分類
  • 對象引用數組(列表中的存儲的是對象的引用,而不是對象的拷貝)

實際應用中的列表

>>基本列表操作
由于列表是序列,它支持很多與字符串相同的操作。列表對”+”和”*“操作的響應與字符串很相似,兩個操作的意思也是合并和重復,只不過是一個新的列表,而不是一個字符串。

>>索引、分片和矩陣
對于列表而言,索引和分片操作與字符串中的操作基本相同。然而對列表進行索引的結果就是你指定的偏移處的對象(不管是什么類型),而對列表分片時往往返回一個新的列表。

matrix = [[1,2,3],[4,5,6],[7,8,9]]

上述代碼定義了一個3*3的二維矩陣。

>>原處修改列表
索引與分片的賦值

當使用列表的時候,可以將它賦值給一個特定項(偏移)或整個片段(分片)來改變它的內容,索引和分片的賦值都是原地修改,它們對列表進行直接修改,而不是生成一個新的列表作為結果.Python中的索引賦值與C及大多數其他語言極為相似——Python用一個新值取代指定偏移的對象引用

列表方法的調用

最常用的列表方法是append,它能夠簡單地將一個單項(對象引用)加至列表末端。與合并不同的是,append允許傳入單一對象而不是列表。L.append(X)與L+[X]的結果類似,不同的是,前者會原地修改L,而后者會生成新的列表。 另一個比較常用的方法就是sort,它原地對列表進行排序。sort是使用Python標準的比較檢驗作為默認值(在這里指字符串比較),而且以遞增的順序進行排序。另外,我們可以通過傳入一個關鍵字參數來修改排序行為——這是指定按名稱傳遞的函數調用中特殊的”name=value”語言。

需要注意的是:要當心append和sort是原地修改列表對象的,方法的返回結果并沒有返回列表(從技術上講,兩者的返回值都是None)。如果編寫類似L=L.append(X)的語句,將不會得到修改后的值(實際上,會失去整個列表的引用)。

  • reverse:原地反轉列表
  • extend:在末端插入多個元素
  • pop:刪除最后一個元素,同時返回被刪除的值
  • remove:通過值刪除某個元素
  • insert:在偏移處插入某個元素
  • index:查找某元素的偏移

字典

如果把列表看做是有序的對象集合,那么就可以把字典當成是無序的集合,它們主要的差別就在于:字典當中的元素師通過鍵來存取的,而不是通過偏移存取。 Python字典的主要屬性如下:

  • 通過鍵而不是偏移來讀取
  • 任意對象的無序集合
  • 可變長、異構、任意嵌套
  • 屬于可變映射類型
  • 對象引用表(散列表)(字典中的存儲的是對象的引用,而不是對象的拷貝)
  • 實際應用中的字典

>>原處修改字典
與列表相同,向字典中已存在的索引值賦值會改變與索引相關聯的值。然而,與列表不同的是,每當對新字典鍵進行賦值(之前沒有被賦值的鍵),就會在字典內生成一個新的元素。

>>其他字典的方法

  • keys:返回字典的鍵列表
  • values:返回字典的值列表
  • items:返回字典的(key,value)對元組
  • update:合并
  • pop:從字典中刪除一個鍵并返回它的值

>>字典用法注意事項

  • 序列運算無效
  • 對新索引賦值會添加項
  • 鍵不一定總是字符串

>>創(chuàng)建字典的其他方法

#Method1
D = {'name':'mel','age':45}
#Method2
D = {}
D['name']='mel'
D['age']=45
#Method3
D = dict(name='mel',age=45)
#Method4
D = dict([('name','mel'),('age',45)])

以上四種形式都會建立相同的字典。

>>Python3.0中的字典變化
字典的功能在Python3.0中已經有所變化了,具體來說,Python3.0中的字典:

  • 支持一種新的字典解析表達式,這是列表和集合解析的”近親”
  • 對于D.key,D.values和D.items方法,返回可迭代的視圖,而不是列表
  • 由于前面一點,需要新的編碼方式通過排序鍵來遍歷
  • 不再直接支持相對大小比較——取而代之的是手動比較
  • 不再有D.has_key方法——相反,使用in成員關系測試

字典視圖

在Python3.0中,字典的keys、values和items都返回視圖對象,而在Python2.6中,它們返回實際的結果列表。Python3.0中的字典視圖并非創(chuàng)建后不能改變,它們可以動態(tài)地反映在視圖對象創(chuàng)建之后對字典做出點修改:

D={'a':1,'b':2,'c':3}
K = D.keys()
V = D.values()
del D['b']
list(K)

上述代碼中,最后一行的結果是[‘a','c']。

keys方法所返回的對象類似于集合,并且支持交集和并集等常見的操作;values視圖不是這樣,因為它們不是唯一的;但items結果是的,如果(key,value)對是唯一的并且可散列的話。

元組

元組由簡單的對象構成。元組與列表非常類似,只不過元組不能再原處修改(它們是不可變的),通常是寫成圓括號(而不是方括號)中一系列項。它的屬性有:

  • 任意對象的有序集合
  • 通過偏移存取
  • 屬于不可變序列類型
  • 固定長度、異構、任意嵌套
  • 對象引用的數組

>>實際應用中的元組

元組的特殊語法:逗號和圓括號

因為圓括號也可以把表達式括起來,如果圓括號里的單一對象時元組對象而不是一個簡單的表達式,需要對Python進行特別說明。如果確實想得到一個元組,只要在這一單個元素之后、關閉圓括號之前加上一個逗號就可以了。

x = (40)
y = (40,)

上述代碼中,第一行的x是一個整數,第二行的y則是一個包含了一個元素40的元組。

轉換、方法以及不可變性

元組的操作和字符串及列表是一致的,值得注意的區(qū)別在于”+”、”*“以及分片操作應用于元組時將返回新元組,并且元組不提供字符串、列表和字典中的方法。

>>為什么有了列表還要元組
元組的不可變性提供了某種完整性,這樣你可以確保元組在程序中不會被另一個引用修改,而列表就沒有這樣的保證了。

相關文章

  • Python連接MySQL數據庫的四種方法

    Python連接MySQL數據庫的四種方法

    用?Python?連接到?MySQL?數據庫的方法不是很系統(tǒng),實際中有幾種不同的連接方法,而且不是所有的方法都能與不同的操作系統(tǒng)很好地配合,本文涵蓋了四種方法,你可以用它們來連接你的Python應用程序和MySQL,需要的朋友可以參考下
    2024-08-08
  • Python實現將橫表和縱表任意轉換的兩種方法

    Python實現將橫表和縱表任意轉換的兩種方法

    在日常做數據分析,接收到最多的表格是縱表,每個字段變量都有很長數據的長表,我們稱之為縱向數據,但是,有時候,我們也會遇到橫表,對于橫向數據,我們會數據轉化,將其轉化為縱向數據,感興趣的同學跟著小編一起來學習吧
    2023-12-12
  • Python代碼實現刪除一個list里面重復元素的方法

    Python代碼實現刪除一個list里面重復元素的方法

    今天小編就為大家分享一篇關于Python代碼實現刪除一個list里面重復元素的方法,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-04-04
  • Python內置函數Type()函數一個有趣的用法

    Python內置函數Type()函數一個有趣的用法

    這篇文章主要介紹了Python內置函數Type()函數一個有趣的用法,本文講解的是個人發(fā)現在的一個有趣的用法,注意這種寫法會導致代碼很難讀,需要的朋友可以參考下
    2015-02-02
  • Python 高效編程技巧分享

    Python 高效編程技巧分享

    工作中經常要處理各種各樣的數據,遇到項目趕進度的時候自己寫函數容易浪費時間。Python 中有很多內置函數幫你提高工作效率。
    2020-09-09
  • Python使用pandas實現對數據進行特定排序

    Python使用pandas實現對數據進行特定排序

    在數據分析和處理過程中,排序是一項常見而重要的操作,本文將詳細介紹如何利用pandas對數據進行特定排序,包括基本排序、多列排序、自定義排序規(guī)則等方面的內容,需要的可以了解下
    2024-03-03
  • Pycharm漢化兩種方法(pycharm改為中文版)

    Pycharm漢化兩種方法(pycharm改為中文版)

    PyCharm是一款流行的Python開發(fā)環(huán)境,提供了豐富的功能和工具,使得Python的開發(fā)和調試變得更加方便和高效,下面這篇文章主要給大家介紹了Pycharm漢化的兩種方法,所謂漢化就是將pycharm改為中文版,需要的朋友可以參考下
    2023-06-06
  • Python中使用MySQL模糊查詢的詳細方法

    Python中使用MySQL模糊查詢的詳細方法

    這篇文章主要介紹了Python中使用MySQL模糊查詢的方法,以下是一個使用pymysql進行模糊查詢的詳細示例,包括安裝庫、連接數據庫、執(zhí)行查詢以及處理結果,需要的朋友可以參考下
    2024-06-06
  • Python通過跳板機訪問數據庫的方法

    Python通過跳板機訪問數據庫的方法

    跳板機是一類可作為跳板批量操作的遠程設備的網絡設備,是系統(tǒng)管理員和運維人員常用的操作平臺之一。本文給大家介紹Python通過跳板機訪問數據庫的方法,感興趣的朋友跟隨小編一起看看吧
    2021-10-10
  • python連接PostgreSQL過程解析

    python連接PostgreSQL過程解析

    這篇文章主要介紹了python連接PostgreSQL過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02

最新評論

裕民县| 东丰县| 静宁县| 开鲁县| 天柱县| 息烽县| 大足县| 交口县| 蕉岭县| 庆安县| 叶城县| 基隆市| 新蔡县| 柳江县| 保亭| 华安县| 绵竹市| 景宁| 彩票| 嘉峪关市| 阿勒泰市| 康乐县| 凌云县| 邵阳市| 博罗县| 嘉善县| 平陆县| 大理市| 柘荣县| 龙岩市| 股票| 城步| 四川省| 柳河县| 枝江市| 张家口市| 保亭| 开封市| 富蕴县| 靖江市| 吐鲁番市|