日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python.集合转列表_Python基础数据类型:元组、列表、字典、集合

發布時間:2025/3/15 python 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python.集合转列表_Python基础数据类型:元组、列表、字典、集合 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

你好,我是goldsunC。
讓我們一起進步吧!

元組、列表、字典、集合

  • 元組和列表是Python語言中非常重要的一部分內容,它們是Python中除了字符串以外的另兩種序列結構,幾乎在任何地方都少不了它們的使用。而字典是非常具有Python語言特色的一種類型,它與列表類似,但是其中元素的順序變的無關緊要。

1 列表

1.1 列表的創建

  • 列表可以由[]或者list()創建,它可以由==零個==或者==多個==元素組成,元素之間用逗號隔開,整個列表要被方括號所包裹:

#創建空列表
  • 同時,除了我們自己創建列表之外,我們還可以用list()將其它形式的數據類型轉換成列表類型:

#???將字符串轉換成列表:

1.2 列表的處理

1.2.1 列表分割
  • 在==Python學習筆記==(二)中我寫了關于字符串的一些相關處理,其中有一個split()函數可以將字符串進行切割,相似的,這個函數也可以對列表進行切割:

'11/03/2000'
1.2.2 提取元素
  • 和字符串類似的,通過偏移位從列表中提取對應位置的元素:

'Chang',

引用的偏移位對于待訪問列表必須有效——該位置的元素在訪問前已經正確賦值,當指定的偏移位小于起始位置或者大于末尾位置時,會產生異常。

  • 同時,也可以指定范圍并使用切片提取元素:

'Chang',
1.2.3 修改元素
  • 我們不但可以通過偏移位訪問某元素,還可以通過賦值對它進行修改:

'I',
  • 使用此種方式無法修改列表內字符串中的指定字符,因為字符串本身是不可變的。而列表是可變的,因此你可以修改列表中的元素個數,以及元素的值。

1.3 列表的概念延伸

  • 列表可以包含各種類型的元素,也包括其它的列表,同時也可以對一個有內層列表,并可以在列表內有對象時可以無限層引用,如下例:

#創建列表

1.4 相關的列表處理函數

函數名稱作用
append(element)將element添加至列表尾部(其可以是任何元素)
extend(list) ? ?or ?+=將list合并至原列表(注意與append區分)
insert(offset,element)在offset處插入element(偏移位可以溢出)
remove(element)刪除原列表中的所有element
pop(offset)(none==-1)獲取并刪除offset處的元素
index(element)查詢element在列表中的偏移位
count(element)記錄element在列表中出現的總次數
sort()對列表進行排序同時改變原列表內容(數字升序或者字母升序),降序則在()中寫入reverse=Ture
sorted()返回排好序的列表副本,原列表內容不變
len(list)獲取list的長度
  • 上邊是我整理的一些對列表進行處理的函數,其實還有幾個常用函數,因為其引用方式和上邊那些稍有不同,因為我單獨拿出并舉例。

1.5 使用del刪除指定位置的元素

#創建列表
  • 當列表中的一個元素被刪除后,位于它后面的元素會自動往前移動填補空出的位置,且列表長度減1。

1.6 使用join()將列表轉換為字符串

#創建一個列表

1.7 使用in判斷值是否存在于列表

#創建一個列表

1.8 使用=賦值,使用copy()復制

  • 在這里我覺得有必要解釋一下,在Python語言中,所有數據都是以==對象==的形式存在的,Python中的變量僅僅是一個名字,賦值操作并不會實際復制值,它只是為數據對象取了一個名字而已,名字是對對象的引用而不是對象本身。

  • 下面舉個例子更好理解:

1,
  • 如上例所示,a對b的賦值僅僅是值從新在a所指對象的身上貼上了b的標簽,賦值后a和b實際指向的是一個對象,因此無論是通過a還是通過b來修改其所指對象的內容,其結果都會作用于雙方。

如果想將一個列表的值復制到另一個新的列表中,可以采用以下三種方法:

  • 列表copy()函數

  • list()轉換函數

  • 列表分片[:]

1,

使用這三種方法產生的b、c、d都是a的復制,它們是自身帶有值得新對象,與原始的a所指向的對象沒有任何關聯,此時改變任何一個對象的值都不影響其它對象。


2 元組

  • 其實元組和列表是非常相像的一種數據類型,其最大的不同便是:元組是不可變的。這意味著元組一旦被定義,將無法再進行增加、刪除或者修改元素等操作。相對來說,元組就像一個常量列表。因為元組與列表非常相似,接下來只介紹一下元組的創建以及和列表對比的一些特點。

2.1 元組和列表各組特點

  • 在許多地方都可以用元組代替列表,但元組的方法函數比列表要少很多:比如沒有append()、insert()等函數,因為創建了元組之后便無法修改了,因此沒有這些函數。那既然列表更加靈活,為什么不在所有地方都應用列表呢?有以下幾點原因:

1.元組占用的空間較小2.你不會意外修改元組的值以便防止程序發生雪崩式的漏洞3.可以將元組作為字典的鍵4.命名元組可以作為對象的替代5.函數的參數是以元組的形式傳遞的

2.2 元組的創建

創建一個空元組用():

>>>????empty_tuple?=()
>>>????empty_tuple
()

創建一個或者多個元素的元組時,每一個元素后面都要跟著一個逗號,即使只包含一個元素也不能省略,當創建的元組包含的元素大于1時,最后一個元素后面的逗號可以省略:

'ChangKangning',

在Python的解釋器中輸出元組時總會自動添加一對圓括號,而我們并不需要這樣做-因為定義元組真正靠的是每個元素的后綴-“逗號”,不過你愿意加一對圓括號也可以,這樣也會使得程序更加的清晰。

  • 可以一口氣將元組賦值給多個變量:

'Chang',
  • 同時,利用tuple()函數也可以將其他類型的數據轉換成元組:

'Chang',

3 字典

  • 字典與列表類似,但是其中的元素順序變的無關緊要,因為字典并不是靠偏移位來訪問的,每個元素不必被編相應的順序序號。取而代之,每個元素擁有與之對應的互不相同的鍵(key),需要通過鍵來訪問元素,鍵通常是字符串,但它還可以是Python中其他任意的不可變類型:布爾型、浮點型、元組、字符串,以及其他一些相關類型。而字典本身是可變的,因此你可以增加、刪除或修改其中的鍵值對。

3.1 字典的創建

3.1.1 使用{}創建字典

  • 使用大括號{}將一系列以逗號隔開的鍵值對(key:value)包裹起來即可進行字典的創建:

>>>????empty_dict??={}
>>>????empty_dict
{}
>>>????a_dict??={'Myname':'ChangKangning',
??????????????'Yourname':'XXX'}
>>>????a_dict
{'Myname':?'ChangKangning',?'Yourname':?'XXX'}
  • Python允許在列表、元組、或者字典的最后一個元素后面添加逗號,這不會產生任何問題。此外,在括號之間輸入鍵值對來創建字典時并不強制要求縮進。

3.1.2 使用dict()轉換為字典

  • 可以對任何包含雙值子序列的序列使用dict()將其轉化為字典:

#包含雙值元組的列表

3.2 字典的處理

3.2.1 使用方括號[]添加或者修改元素

  • 我們已經知道字典是由一對對的鍵值對組成,而向字典中添加元素非常簡單,只需要指定該元素的鍵并賦予相應的值即可。如果該鍵已經有值,其將被新值取代,如果沒有此鍵,此鍵值對將被加入字典。

'C':
  • 因為我們引用的是字典中鍵值對的鍵,因此我們需要知道,每個字典中包含的必須保證互不相同。

3.2.2 一些常用的字典處理函數

函數名稱作用
update(other_dict)將other_dict中的鍵值對復制到原字典
del dict['key']刪除dict中key的元素(類似列表中的del)
clear()將字典中的所有元素刪除
’key‘ in dict判斷key是否在字典中
keys()獲取字典中的所有鍵
values()獲取字典中的所有值
items()獲取字典中的所有鍵值對

3.2.3 特別的處理方法

  • 與列表類似,同樣的使用方括號[]來獲取元素。

  • 在對字典的操作中,只需要指定字典名字和鍵即可得到對應的值:

'C':
  • 注意,如果在操作的字典中不包含指定的鍵,則系統會報錯而并不是返回空,而有兩種方法可以避免這種情況發生:

  • 1. 用3.2.2表中的in判斷此鍵是否存在。

  • 2. 使用字典函數get(),你在使用時需要指定字典名、鍵、以及一個可選值。如果鍵存在,會返回其對應值。如果不存在,則返回這個可選值。

如下:

'C':
  • 與列表一樣,對字典內容信息的修改會反映到所有與之相關聯的變量名上,若想避免此種情況,則還是需要用copy()函數將字典復制到一個新字典中。

4 集合

  • 對于元組和列表我們知道,元組就像是不會改變的列表,其性質非常相似,而對于字典與集合來講,集合就像舍棄了值,僅剩下鍵的字典一樣。集合里邊的元素不允許重復,同時也沒有順序。如果你僅僅向知道某一個元素是否存在而不關心其他的東西,使用集合是一個非常好的選擇。

4.1 集合的創建

4.1.1 使用set()函數創建集合

  • 我們可以使用set()函數創建一個集合,或者用大括號將一系列以逗號隔開的值包裹起來創建集合。如下所示:

>>>????empty_set???=set()
>>>????empty_set
set()
>>>????a_set???={1,2,3,4,5}
>>>????a_set
{1,2,3,4,5}????#雖然此時返回的值看似有序,但一定注意集合是無序的!!!
  • 注意,空集合的創建并不是之間使用一個大括號就行了,大括號是用來創建字典的,為了避免與空字典的重復,解釋器輸出的空集合是set(),這樣規定沒有什么特殊原因,僅僅是因為字典的出現比較早吧。

4.1.2 使用set()將其他類型轉換為集合

這里沒什么好解釋的,直接上例子:

'ning')

4.2 集合的處理

  • 前邊已經說過,集合里面的元素是無序的、唯一的,因此我們最常用的功能是判斷元素是否存在于目標集合。

4.2.1 使用in判斷測試值是否存在

#我們先建立一個字典,字典里邊的值為集合

4.2.2 集合相關處理函數

函數名稱作用
intersection(set)獲取原集合與set的交集
&同上
union(set)獲取原集合與set的并集
|同上
difference(set)獲取原集合與set的差集
-同上
symmetric_difference(set)獲取原集合與set的異或集(僅在兩個集合中出現一次)
^同上
issubset(set)判斷原集合是否為set的子集
<=同上
<判斷真子集
issuperset(set)判斷原集合是否為set的超集
> =同上
>判斷真超集

總結

  • 到此為止,關于元組、列表、字典、集合的常用相關基礎知識已經全部敲出來了,說實話這些東西看的時候可能一個小時就能看完,但是要敲出來得需要一天,不過在敲的過程中確實加強了很多,畢竟那些舉得例子大多需要在解釋器里運行一下,有時候出個錯也能更掌握相關知識點,這篇文章對我自己肯定有幫助,希望也能幫到看到的你。

???end???

走在路上

goldsunC

總結

以上是生活随笔為你收集整理的python.集合转列表_Python基础数据类型:元组、列表、字典、集合的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。