當前位置:首頁 » 編程語言 » python列表和集合

python列表和集合

發布時間: 2022-03-31 18:41:49

python 列表和元組的區別

1、不可變和可變
元組是不可變對象,對象一旦生成,它的值將不能更改;列表是可變對象,對象生成後,可以對其元素進行更改、添加、刪除、清空、排序等操作。

2、可哈希和不可哈希
可哈希對象就是能映射成內存地址的對象。在Python基本數據類型中,只有列表、字典和可變集合是不可哈希的。說元組是可哈希也不對,如果元組中某個元素是列表、字典或可變集合,那麼這個元組也是不可哈希的。可哈希對象和不可哈希對象的區別體現在:可哈希對象可以作為字典的鍵和集合的元素,不可哈希對象則不可以。

⑵ python 集合裡面可以放list嗎

不可以,list是可變類型,可以用tuple代替

⑶ 在python中如何將兩個list合並成一個list,不用for語句

1、運算符:

list1 = [1, 2, 3]

list2 = [4, 5, 6]

list3 = list1 + list2

print(list3)

2、extend()方法:

list1 = [1, 2, 3]

list2 = [4, 5, 6]

list3 = list1.extend(list2)

print(list3)

3、切片方式:

list1 = [1, 2, 3]

list2 = [4, 5, 6]

list1[len(list1):len(list1)] = list2

print(list1)

(3)python列表和集合擴展閱讀:

list的方法

L.append(var) #追加元素

L.insert(index,var)

L.pop(var) #返回最後一個元素,並從list中刪除之

L.remove(var) #刪除第一次出現的該元素

L.count(var) #該元素在列表中出現的個數

L.index(var) #該元素的位置,無則拋異常

L.extend(list) #追加list,即合並list到L上

L.sort() #排序

L.reverse() #倒序

list 操作符:,+,*,關鍵字del

a[1:] #片段操作符,用於子list的提取

[1,2]+[3,4] #為[1,2,3,4]。同extend()

[2]*4 #為[2,2,2,2]

del L[1] #刪除指定下標的元素

del L[1:3] #刪除指定下標范圍的元素

⑷ python中元祖,列表,集合,字典的區別

元祖中的數據是不可修改的.但是是有順序的
列表的長度是可變的,也就是說列表中的元素可以增刪改,列表也是有序的.
字典是鍵值對的組合,是無序的,長度可變,可以增刪改查.
其中列表,字典,元組都是可以相互嵌套的.

⑸ Python解析列表和集合中的排序不同的原因是什麼

列表存儲是順序存儲,所以輸出也是順序的。
集合和字典的存儲結構是hash表,是通過索引查找數據,所以存儲的位置很隨機,而讀取是順序讀取得,因此寫入和讀取得順序不同。他倆的區別是set不存儲value,只存儲key。

set是集合的意思。

⑹ Python3的元組,字典,列表,集合有什麼聯系和區別

4個都是python的數據結構。
元組和列表的底層實現是一樣的,本質都是把一堆東西放在一排,區別在於元祖放完後就不能改了。
你把字典理解成我們普通用的字典就可以了,而集合就是把字典的所有value都設置成None。字典和集合的底層實現原理是一樣的,但初學者不必關注這個原理。集合與數學中的集合有相同性質,比如唯一性,對比字典中key的唯一性來理解一下。
比方:你遇到一個沒見過的字,查查看是不是標準的漢字,這就是集合的作用,集合只關注有沒有的問題;如果是標准漢字,你要看看這個字的意思,這就是字典的作用;你現在找來一個漢字,打算組成成語,然後再找幾個字,向第一個漢字左右放,就是列表的作用;一旦發現一個成語,就固定不變了,字和字的排列都不能改,這就是元祖。

⑺ python兩個列表(或集合、字典)進行比較,如果一個列表中的幾位在另一個列表中出現,則刪除這些項

#coding=utf-8
#py2.7
test1 = ['a1', 'b2']
test2 = ['a1_001', 'a1_002', 'a1_003', 'a2_001', 'a3_001', 'b2_001']
print filter(lambda x:x[:2] not in test1,test2)
#我是按照你給的例子來寫的代碼,這樣只循環了 test2長度的次數
#「現在兩組數據長度不一樣」,不太明白這句話對於你的邏輯有啥影響

⑻ Python列表,元組,集合,字典的區別和相互

元組和列表是類似的, 只是元組不可修改內容

注意這里指的是不可修改元組元素的指向, 你可以修改內容指向的內容

>>>lst=[1,2,3]#定義列表
>>>a=(1,2,lst,4)#注意元組a的a[2]是一個列表
>>>a
(1,2,[1,2,3],4)
>>>a[2]=4#試圖修改元組元素的指向,報錯
Traceback(mostrecentcalllast):
File"<pyshell#3>",line1,in<mole>
a[2]=4
TypeError:'tuple'
>>>a[2][0]=0#不修改元組元素的指向的元素,但是修改指向的內容
>>>a
(1,2,[0,2,3],4)
>>>a[2].append(5)#不修改元組元素的指向的元素,但是修改指向的內容
>>>a
(1,2,[0,2,3,5],4)

字典完全區別於列表和元組

因為字典使用hash表來存儲, 所以只有能夠進行hash運算的才能作為鍵值

個人認為, 一般不可變的都能作為鍵, 比如str/tuple/None/function.列表不能作為鍵

最後, 由於字典是hash表演算法{字典查找O(1), 列表遍歷O(n)}, 在數據量巨大的時候, 字典的查找效率出奇的高

⑼ Python列表,元組,集合,字典的區別和相互轉

列表是一組值,其中的值可以改變
元組也是一組值,其中的值不能改變
列表與元組可以相互轉換
集合是一組唯一的無順序的值
字典是無固定順序的鍵值對

熱點內容
安卓微信拍了拍怎麼改 發布:2025-01-17 05:57:31 瀏覽:46
BMF伺服器的系統服務怎麼關 發布:2025-01-17 05:50:29 瀏覽:876
免刷安卓系統怎麼進入usb調試 發布:2025-01-17 05:48:21 瀏覽:837
資料庫的三層架構 發布:2025-01-17 05:17:36 瀏覽:149
雲頂之弈有人開腳本怎麼舉報 發布:2025-01-17 05:16:59 瀏覽:682
sql包含數字 發布:2025-01-17 05:11:56 瀏覽:292
密碼忘記了怎麼查看 發布:2025-01-17 05:02:30 瀏覽:682
腳本執行sql語句 發布:2025-01-17 04:47:51 瀏覽:702
結構體訪問成員變數 發布:2025-01-17 04:32:09 瀏覽:31
熱點緩存 發布:2025-01-17 04:30:07 瀏覽:523