list是python中使用最頻繁的資料型別。列表可以完成大多數集合類的資料結構的實現。列表中元素的型別可以不相同,它支援數字、字串、甚至可以包含其他巢狀列表(巢狀)注:列表和字串一樣,同樣可以被索引和擷取,列表被擷取後返回乙個包含所需元素的新列表列表是寫在 裡,各元素間用逗號隔開的元素列表。
變數名[頭下標:尾下標]
a = [1, 2, 3, 4, 5, 6]
#切片使用
#元素修改
a[2:4] = ['a', 'b', 'c']
#按照範圍輸出元素(前閉後開)
print(a[2:4])
1、與python字串不同的是,列表中的元素是可以改變的
a = [1, 2, 3, 4, 5, 6];
a[0] = 'a'
a[2:3] = ['b', 'hello_world']
print(a) #['a', 2, 'b', 'hello_world', 4, 5, 6]
2、新增元素
extend([x, x, x]) 在列表尾部追加乙個新列表(加大原列表的長度)
insert(下標,元素) 在指定下標處插入對應的元素
3、刪除元素
remove(元素) 刪除第乙個匹配的元素;若原列表中沒有,則報錯4、python中的不足:列表間直接賦值時,修改乙個會影響另乙個del 列表名[下標] 刪除對應下標的元素
pop(下標) 刪除對應下標的元素
a = [1, 2, 3, 4]
b = a
b[0] = 999
print(a) #[999, 2, 3, 4]
print(b) #[999, 2, 3, 4]
#此時推薦使用copy來進行賦值
b = a.copy()
元組與列表類似,不同之處在於元組中的元素不支援修改,元組寫在 () 括號內,元素之間用逗號隔開,元組中的元素型別也可以不同4、元組也可以使用+操作符進行拼接。
字典是python中另乙個非常有用的內建資料型別。前面介紹的裂帛i啊是有序的物件集合,字典是無序的的物件集合,兩者的區別在於:字典中的元素是通過鍵來訪問的,而不是通過索引值1、字典增加新的內容字典是一種對映型別,字典用 {} 標識,它是乙個無序的鍵(key):值(value)對的集合。在同乙個字典中,鍵(key)必須是唯一的,但是值則不必唯一,值可以取任何資料型別,但是鍵必須是不可變的,如字串、數字、元組。
dict1 =
print(dict1)
dict1["job"] = "student"
print(dict1)
2、建構函式 dict() 可以直接從鍵值對序列中構建字典如下:
>>> list = [('aaa', 1), ('bbb', 2), ('ccc', 3)]
>>> dict(list)
3、clear()、keys()、values()
字典型別也有一些內建的函式,例如clear()、keys()、values()等。
>>> dic = dict(ddd=4, eee=5, fff=6)
>>> dic
>>> dic.keys()
dict_keys(['ddd', 'eee', 'fff'])
>>> dic.values()
dict_values([4, 5, 6])
>>> dic.clear()
>>> dic
{}
集合是乙個無序不重複的序列。基本功能是進行成員關係測試和刪除重複元素。可以使用 {} 或者set()函式建立集合。注意:建立乙個空集合必須用set()函式而不是 {}
print(company) # 輸出集合,重複的元素被自動去掉
#成員測試
if 'facebook' in company:
print('facebook 在集合中')
else:
print('facebook 不在集合中')
python中的字串用單引號 ' 或雙引號 " 括起來,同時使用反斜槓 \ 轉義特殊字元。1、python 使用反斜槓 \ 轉義特殊字元,如果你不想讓反斜槓發生轉義,可以在字串前面新增乙個 r,表示原始字串:
>>> print('hello world')
hello world
>>> print('hello\nworld')
hello
world
>>> print(r'hello \n world')
hello \n world
STL中常用資料結構
stl中常用的資料結構 1 stack queue預設的底層實現為deque結構。2 deque 用map管理多個size大小的連續記憶體塊,方便頭尾插入。3 vector 變長動態陣列,每次增大1.5倍,刪除元素時不釋放空間。4 priority queue底層預設採用vector向量o nlog...
STL中常用資料結構
stl中常用的資料結構 1 stack queue預設的底層實現為deque結構。2 deque 用map管理多個size大小的連續記憶體塊,方便頭尾插入。3 vector 變長動態陣列,每次增大1.5倍,刪除元素時不釋放空間。4 priority queue底層預設採用vector向量o nlog...
資料結構中常用演算法
排序常用的演算法有 插入演算法 直接插入演算法 折半插入演算法 希爾演算法 選擇演算法 簡單選擇演算法 堆排序演算法 快速演算法 氣泡排序 快速排序演算法 以下程式給出了各種演算法的實現,其介面為void sort int array,int len 每個檔案實現乙個演算法,最後和main.c檔案編...