Python3---列表、字典、集合

前言

序列是Python中最基本的數據結構。序列中的每個元素都分配一個數字即它的位置,或者稱之爲索引,有關索引在我的博客中講過,它可以用切片來操作。
這裏再簡單贅述一下,假設字符長度爲n,從第一位到最後一位的切片是:
第一種方式:0,1,2,3…n-2,n-1
第二種方式:-n,-n+1,…,-2,-1
依次類推。
Python2/3中有6個內置類型,但最常見的是列表和元組。
序列都可以進行的操作包括索引,切片,加,乘,檢查成員。
此外,Python還確定了序列的長度以及確定最大最小值的元素方法。

Python3 列表

列表是最常用的Python數據類型,它可以作爲一個方括號內的分隔值出現。
列表的數據項數據不需要具有相同的類型.

創建列表、空列表

在這裏插入圖片描述

更新列表

在這裏插入圖片描述

合併列表

  • append():追加元素
  • extend():再原有列表的基礎上追加列表
  • + :兩個列表合併成一個新的列表
  • +=:效果與extend()一樣
  • *:重複列表
    append()、extend()的結果不會重新生成內存空間,而+、+=、*會
    在這裏插入圖片描述
    在這裏插入圖片描述

刪除列表元素

可以使用del語句來刪除列表的元素。
remove()函數用於移除列表中的某個的第一個匹配項。
在這裏插入圖片描述

列表截取

在這裏插入圖片描述

Python列表操作的函數和方法

列表操作包含以下函數:

  1. cmp(list1, list2):比較兩個列表的元素 ;python3中已經移除了這個函數
    在這裏插入圖片描述
  2. len(list):列表元素個數;
  3. max(list):返回列表元素最大值;
  4. min(list):返回列表元素最小值;
  5. list(seq):將元組轉換爲列表。

列表操作包含以下方法:

  1. list.append(obj):在列表末尾添加新的對象;
  2. list.count(obj):統計某個元素在列表中出現的次數;
  3. list.extend(seq):在列表末尾一次性追加另一個序列中的多個值(用新列表 擴展原來的列表);
  4. list.index(obj):從列表中找出某個值第一個匹配項的索引位置;
  5. list.insert(index, obj):將對象插入列表;
  6. list.pop(obj=list[-1]):移除列表中的一個元素(默認最後一個元素),並且返回該元素的值;
  7. list.remove(obj):移除列表中某個值的第一個匹配項;
  8. list.reverse():反向列表中元素;
  9. list.sort([func]):對原列表進行排序。

二維列表的創建與訪問

在這裏插入圖片描述

Python3 字典

字典是另一種可變容器模型,且可存儲任意類型對象。
字典的每個鍵值(key:value)對用冒號(:)分割,每對直接用,分割,整個字典在{}中,格式如下所示:

d = {key1 : value1, key2 : value2 }

其鍵必須是唯一的,但值則不必,值可以取任何數據類型,但鍵必須是不可變的,如字符串,數字或者元組。
在這裏插入圖片描述

修改字典

可向字典添加新的內容的方法是增加新的鍵/值對,修改或刪除已有鍵/值對。
在這裏插入圖片描述

刪除字典以及元素

在這裏插入圖片描述

字典的特性

  1. 不允許同一個鍵出現兩次。創建時如果同一個鍵被賦值兩次,後一個值會被記住,也就是說後面的會覆蓋前面的
    在這裏插入圖片描述
  2. 鍵必須不可變,所以可以用數字、字符串或者元組充當,而用列表就不行,如下實例:
    在這裏插入圖片描述

字典內置函數&方法

Python3字典包含了以下內置函數:

函數 描述
len(dict) 計算字典元素個數,即鍵的總數
str(dict) 輸出字典,以可打印的字符串表示
type(variable) 返回輸入的變量類型,如果變量是字典就返回字典類性

Python3字典包含了以下內置方法

函數名 描述
radiansdict.clear() 刪除字典內所有元素
radiansdict.copy() 返回一個字典的淺複製
radiansdict.fromkeys() 創建一個新字典,以序列seq中元素做字典的鍵,val爲字典所有鍵對應的初始值
radiansdict.get(key, default=None) 返回指定鍵的值,如果值不在字典中返回default值
key in dict 如果鍵在字典dict裏返回true,否則返回false
radiansdict.items() 以列表返回可遍歷的(鍵, 值) 元組數組
radiansdict.keys() 返回一個迭代器,可以使用 list() 來轉換爲列表
radiansdict.setdefault(key, default=None) 和get()類似, 但如果鍵不存在於字典中,將會添加鍵並將值設爲default
radiansdict.update(dict2) 把字典dict2的鍵/值對更新到dict裏
radiansdict.values() 返回一個迭代器,可以使用 list() 來轉換爲列表
pop(key[,default]) 刪除字典給定鍵 key 所對應的值,返回值爲被刪除的值。key值必須給出。 否則,返回default值。
popitem() 隨機返回並刪除字典中的最後一對鍵和值。

Python3 集合

集合(set)是一個無序的不重複元素序列。
可以使用大括號是{}或者set()函數創建集合,**注意:創建一個空集合必須用set()而不是{ },因爲{ }是用來創建一個空字典。

parame = {value01,value02,......}
或者
set(value01,value02,...)

基本操作
在這裏插入圖片描述
跟列表一樣,因爲可變的特性,所有它也由推導式——集合推導式(Set comprehension)
在這裏插入圖片描述

添加操作

將元素添加到集合中,如果元素已存在,則不進行任何操作。
在這裏插入圖片描述
還有一個方法式update,這裏面的參數可以是多個,用逗號隔開
在這裏插入圖片描述
在這裏插入圖片描述

集合內置方法完整列表

方法 描述
add() 爲集合添加元素
clear() 移除集合中的所有元素
copy() 拷貝一個集合
difference() 返回多個集合的差集
difference_update() 移除集合中的元素,該元素在指定的集合也存在。
discard() 刪除集合中指定的元素
intersection() 返回集合的交集
intersection_update() 返回集合的交集。
isdisjoint() 判斷兩個集合是否包含相同的元素,如果沒有返回 True,否則返回 False。
issubset() 判斷指定集合是否爲該方法參數集合的子集。
issuperset() 判斷該方法的參數集合是否爲指定集合的子集
pop() 隨機移除元素
remove() 移除指定元素
symmetric_difference() 返回兩個集合中不重複的元素集合。
symmetric_difference_update() 移除當前集合中在另外一個指定集合相同的元素,並將另外一個指定集合中不同的元素插入到當前集合中。
union() 返回兩個集合的並集
update() 給集合添加元素
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章