python中的鍵可以是元組 有哪些用Python語言講算法和數(shù)據(jù)結(jié)構(gòu)的書?
有哪些用Python語言講算法和數(shù)據(jù)結(jié)構(gòu)的書?圖書可以在巨星數(shù)據(jù)庫和獨秀學(xué)術(shù)搜索。也可以在庫中直接搜索數(shù)據(jù)結(jié)構(gòu)和python。有很多l(xiāng)istlist是一種處理一組有序項的數(shù)據(jù)結(jié)構(gòu),也就是說,可以在一個
有哪些用Python語言講算法和數(shù)據(jù)結(jié)構(gòu)的書?
圖書可以在巨星數(shù)據(jù)庫和獨秀學(xué)術(shù)搜索。也可以在庫中直接搜索數(shù)據(jù)結(jié)構(gòu)和python。有很多
list
list是一種處理一組有序項的數(shù)據(jù)結(jié)構(gòu),也就是說,可以在一個列表中存儲一系列項。列表中的項目。列表中的項應(yīng)該包含在方括號中,以便Python知道您在指示一個列表。創(chuàng)建列表后,可以添加、刪除或搜索列表中的項目。因為您可以添加或刪除項,所以我們說列表是一種可變的數(shù)據(jù)類型,可以更改。
列表可以嵌套。
元組
原語與列表非常相似,但元組是不可變的。也就是說,不能修改元組。元組由括號中逗號分隔的項定義。
當(dāng)語句或用戶定義函數(shù)可以安全地采用一組值時,通常使用元組,即所用元組的值不會更改。元組可以嵌套。
字典
字典類似于通訊簿,您可以通過聯(lián)系人姓名查找地址和聯(lián)系人詳細信息,也就是說,我們將鍵(名稱)與值(詳細信息)相關(guān)聯(lián)。請注意,密鑰必須是唯一的,就像有兩個同名的人一樣,您無法找到正確的信息。
列表,元組和字典的區(qū)別有哪些?
1. 不可變和可變元組是不可變的對象。對象一旦生成,其值就不能更改。列表是一個變量對象。對象生成后,可以對其元素進行更改、添加、刪除、清除、排序等操作??晒:筒豢晒ο笫强梢杂成涞絻?nèi)存地址的對象。在Python基本數(shù)據(jù)類型中,只有列表、字典和可變集是不可散列的。說元組是可散列的是不對的。如果元組中的元素是列表、字典或變量集,那么元組也是不可散列的。哈希對象和非哈希對象的區(qū)別在于哈希對象可以作為字典的鍵和集合的元素,而非哈希對象則不能。
python元組和列表的區(qū)別?
1. 二維表中元組的成分是一個不可分割的基礎(chǔ)數(shù)據(jù)項——元組成分的原子性。2二維表中唯一標(biāo)識元組的最小屬性值稱為表的鍵或代碼。二維表中可能有多個鍵,這些鍵被稱為表的候選碼或候選鍵。從二維表的所有候選鍵中選擇的鍵稱為主鍵或主代碼。如果表a中的屬性集是表B的鍵,則該屬性值稱為外鍵或代碼??偠灾M的成分和元組的鍵是兩個不同的概念。
元組的分量和元組的鍵是不是一樣的?
1. 列表、元組、字典是有序的,但集合不是
2。列表用方括號表示,元組用括號表示,詞典用大括號表示,集合用[()
3]表示。列表是可變對象,支持原地修改操作。元素也可以通過指定的索引和碎片獲得。與元組不同,它可以動態(tài)地添加、刪除和更新。
4. 元組和列表在結(jié)構(gòu)上沒有區(qū)別。唯一的區(qū)別是元組是只讀的,不能修改。元組由“()”表示。一旦定義了元組,它的長度和內(nèi)容就固定了。元組一旦被創(chuàng)建,就不能被修改,即不能被更新、添加或刪除。如果要創(chuàng)建包含元素的元組,必須在元素后面添加逗號“,”,否則將創(chuàng)建字符串而不是元組。
5. 集合沒有特殊的表示形式,而是通過集合函數(shù)轉(zhuǎn)化為集合。集合是非重復(fù)元素的無序集合。其基本功能包括關(guān)系測試和元素去重復(fù)。
6. 字典最大的價值就是查詢,按鍵找值
有一個原則,字典中的鍵必須是可哈希的(有一個內(nèi)置的函數(shù)hash()來檢測它是否支持哈希),因為字典是通過哈希算法來查找數(shù)據(jù)的,比元組、列表等數(shù)組類型快得多。這也是字典的特點。字典中的鍵和值應(yīng)該是一對一對的。密鑰用于字典搜索,因此密鑰必須支持哈希算法,即上面提到的哈希算法。列表,是一個變量對象,支持原始修改。你想通過鍵在字典里找到數(shù)據(jù)。如果鍵是一個可變對象,那么上一次找到它時,如果這次鍵發(fā)生了變化,則無法通過鍵找到值(如前所述,字典中的鍵和值是一一對應(yīng)的)。它變成了另一個數(shù)據(jù),但它仍然是自己的。它不符合規(guī)則,并且找不到值。所以這就是為什么列表不能用作詞典。