索引都是用中括號!!!!!!
一、列表list
列表中的每個元素都可變的,意味著可以對每個元素進行修改和刪除;
列表是有序的,每個元素的位置是確定的,可以用索引去訪問每個元素;
列表中的元素可以是python中的任何物件,這意味著元素可以是字串、整數、元組、也可以是list等python中的物件。
初始化為中括號
常見操作
# 初始化
]# 在列表後面追加
'alibaba'
)# 在指定位置插入元素
# 彈出尾部元素
mylist.pop(
)# 彈出指定位置元素
mylist.pop(0)
# 批量刪除
del mylist[1:
3]# 此處為刪除位置為1和位置為2的內容,不包含位置3。與索引時相同,不包含末尾。
# 指定內容刪除
mylist.remove(
'microsoft'
)# 索引前n個
mylist[:5
]# 索引前5個,分別為0,1,2,3,4
# 索引前n個
mylist[1:
5]# 索引位置分別為1,2,3,4
# 索引後n個
mylist[3:
]# 從位置3開始索引,一直到末尾
# 生成有規律的列表
a =[x for x in
range(1
,10)]
# 得到a=[1, 2, 3, 4, 5, 6, 7, 8, 9]
# 巢狀式
#生成乙個列表a
a =[i for i in
range(1
,4)]
print
(a)#生成乙個列表b
b =[i for i in
range
(100
,400
)if i %
100==0]
print
(b)# 巢狀式
c =[m+n for m in a for n in b]
print
(c)#執行結果:
# [1, 2, 3]
# [100, 200, 300]
# [101, 201, 301, 102, 202, 302, 103, 203, 303]
二、元組tuple
初始化為小括號()
三、字典dict
字典中的資料必須以鍵值對的形式出現,即k,v:
key:必須是可雜湊的值,比如intmstring,float,tuple,但是,list,set,dict不行
value:任何值。
鍵不可重複,值可重複:
鍵若重複字典中只會記該鍵對應的最後乙個值。
字典中鍵(key)是不可變的,何為不可變物件,不能進行修改;而值(value)是可以修改的,可以是任何物件:
在dict中是根據key來計算value的儲存位置,如果每次計算相同的key得出的結果不同,那dict內部就完全混亂了。
初始化為大括號{}
可用for k,v in a.items():
同時得到key和value,a.keys()
為訪問key,a.values()
為訪問value
若直接for i in a:
,則輸出的是key
比較大小時,比的是key,返回的也是key
d =
print
(max
(d))
print
(min
(d))
四、集合set
集合中每個元素都是無序的、不重複的任意物件
集合內資料無序,即無法使用索引和分片
集合內部資料元素具有唯一性,可以用來排除重複資料
可以通過集合去判斷資料的從屬關係。集合可做集合運算,可新增和刪除元素。
初始化:
s =
s =set([
1,2,
3,4,
5,6,
7])
集合內容操作,因為是無序的,所以只有單純的新增和刪除(需要指定內容)
s =
set([1
,2,3
])s.add(6)
s.remove(
2)
集合運算
s1 =
s2 =
#交集s_1 = s1.intersection(s2)
print
("交集:"
,s_1)
#差集s_2 = s1.difference(s2)
print
("差集:"
,s_2)
#並集s_3 = s1.union(s2)
print
("並集:"
,s_3)
#檢查乙個集合是否為另乙個子集
s_4 = s1.issubset(s2)
print
("檢查子集結果:"
,s_4)
#檢查乙個集合是否為另乙個超集
s_5 = s1.issuperset(s2)
print
("檢查超集結果:"
,s_5)
冰凍集合除了不能修改之外,其餘和集合一樣!
冰凍集合初始化:
a =
frozenset([
1,2,
4,2,
3])
結果為frozenset()
,因為不含重複值 四種基本的資料結構
資料結構的定義 分為邏輯結構 元素之間有什麼關係 和儲存結構 元素之間怎麼儲存 通常有下列四類基本的結構 集合結構。該結構的資料元素間的關係是 屬於同乙個集合 線性結構。該結構的資料元素之間存在著一對一的關係。樹型結構。該結構的資料元素之間存在著一對多的關係。網狀結構。該結構的資料元素之間存在著多對...
四種基本的資料結構
通常有下列四類基本的結構 集合結構。該結構的資料元素間的關係是 屬於同乙個集合 線性結構。該結構的資料元素之間存在著一對一的關係。樹型結構。該結構的資料元素之間存在著一對多的關係。網狀結構。該結構的資料元素之間存在著多對多的關係。1.集合結構 所謂集合就收我們中學學的這個 若x是集合a的元素,則記作...
redis的第四種資料結構 set
前面幾篇文章講了redis的string hash list,今天寫一下set。redis的集合和數學上的集合是一樣的,set命令都以s開頭 1.新增元素到集合 sadd key member sadd s1 1 2 3 integer 3 sadd s1 3 integer 0 sadd s1 2...