python / 内置的数据结构概述
零、前言
| type | 中文名稱 |
| list | 列表 |
| tuple | 元組 |
| dict | 字典 |
| set | 集合 |
一、list
https://blog.csdn.net/itworld123/article/details/104966308
二、tuple
1、特點(diǎn)
(1)固定列表,一旦初始化其中的元素不可修改。
(2)列表中的元素可以是 python 中的任何對象。
(3)所有元素由一個小括號“( )”包裹。
2、相關(guān)操作
(1)增
由于元組本身是不可改變的,所以沒有函數(shù)向元組中增加元素,不過可以直接使用“+”來增加元素。但是,增加完元素之后的元組和增加元素之前的元組不是同一個,即:位于不同的內(nèi)存空間中。栗子如下:
tup = (1,2,3,"tt",4.2) new_tup = tup + ("23",) print("new_tup = ",new_tup) print("tup = ",tup) new_tup = (1, 2, 3, 'tt', 4.2, '23') tup = (1, 2, 3, 'tt', 4.2)?(2)刪
none。
(3)改
元素本身不能更改的,但是若元素是 list ,是可以更改 list 中的元素,但是不能將元素 list 改為整數(shù)、字符串什么的 。
(4)查
類似于數(shù)組的索引。
三、dict
1、特點(diǎn)
(1)字典中的數(shù)據(jù)必須得以鍵值對(key - value)的形式出現(xiàn)。
(2)鍵值不可重復(fù),值可以重復(fù)。但是 dict 只會記得最后一個值。
(3)鍵(key)不可改變,但是值(value)可以改變。
(4)所有的鍵值對(key - value)以大括號“{ }”的形式包裹。
2、相關(guān)操作
(1)增
? ? ? ? a、update(),在字典尾部加入新的 key - value 。
? ? ? ? b、直接修改某 key 的 value,若該 key 不存在本 dict 中,則自動創(chuàng)建該 key 。
(2)刪
? ? ? ? a、pop(),指定?key,刪除?key - value 。
? ? ? ? b、del ,指定?key,刪除?key - value 。
? ? ? ? c、clear(),清空 dict 。
(3)改
? ? ? ? 直接修改已存在的 key 對應(yīng)的 value 即可。
(4)查
? ? ? ? a、類似于 map 的索引。
? ? ? ? b、用 get() 查詢指定的 key 是否存在,若不存在則返回 null。
栗子:
if __name__ == '__main__':dicttest = {'one': 1, 'two': 2, 'three': 3}print('init:', dicttest)# 增dicttest.update({'four': 4})print('added four:', dicttest)dicttest['five'] = 5print('added five:', dicttest)# 刪dicttest.pop('two')print('delete two:', dicttest)del dicttest['five']print('delete five:', dicttest)# 改dicttest['one'] = 10print('modify one:', dicttest)# 查print('show three:', dicttest['three'])結(jié)果:
init: {'one': 1, 'two': 2, 'three': 3} added four: {'one': 1, 'two': 2, 'three': 3, 'four': 4} added five: {'one': 1, 'two': 2, 'three': 3, 'four': 4, 'five': 5} delete two: {'one': 1, 'three': 3, 'four': 4, 'five': 5} delete five: {'one': 1, 'three': 3, 'four': 4} modify one: {'one': 10, 'three': 3, 'four': 4} show three: 3?四、set
1、特點(diǎn)
(1)接近于數(shù)學(xué)中集合的概念。
(2)各個元素不可重復(fù)。可通過這個特性來過濾數(shù)據(jù)結(jié)構(gòu)中重復(fù)的元素。
(3)元素不可修改。
TypeError: 'set' object does not support item assignment(3)所有的元素以大括號“{ }”的形式包裹。
2、相關(guān)操作
(1)增
? ? ? ? add(),在 set 中添加元素,該元素的位置不確定。
(2)刪
? ? ? ? remove(),刪除指定的元素。
(3)改
? ? ? ? none 。
(4)查
? ? ? ? none,不支持索引。
(5)支持求解集合的交集(&)和并集(|)
栗子:
if __name__ == '__main__':settest = set([1, 2, 3])print('init:', settest)# 增settest.add('38')print('add str38:', settest)# 刪settest.remove(2)print('remove 2:', settest)# 改pass# 查passsettest1 = {1, 2, 32, 5}settest2 = {4, 2, 3, 1, 32}# &print('&:', settest1 & settest2)# |print('|:', settest1 | settest2)結(jié)果:
init: {1, 2, 3} add str38: {1, 2, 3, '38'} remove 2: {1, 3, '38'} &: {32, 1, 2} |: {32, 1, 2, 3, 4, 5}五、拓展
1、list 和 tuple 異同點(diǎn)
(1)
2、dict 和 set 異同點(diǎn)
?
(SAW:Game Over!)
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的python / 内置的数据结构概述的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据结构与算法 / 栈(stack)
- 下一篇: python 3.8.2 / 内置的数据