類似於其他語言,Python也將需要表示和操作的數據劃分成不同的數據類型。python中的每個數據值都被稱爲一個對象(object),並且這個對象有三個屬性值(唯一標識、數據類型、值),分別對應計算機內存地址、數據類別、數據值。
python數據類型分類如下:
數字類型與其他編程語言類似,這裏不再具體講解。作爲Python中最重要的基礎知識,下面主要梳理下字符串、列表、元組、字典、集合的核心知識點。
首先明確幾個概念
序列:有固定順序排列的數據。
不可變類型:如果變量名引用的內存空間的值不能夠修改,數字、字符串、布爾值、元組屬於不可變類型。
可變類型:變量名引用的內存空間的值能夠修改,可以向容器中增刪對象,將容器中的某個元素的索引賦給一個新的對象。列表(List)、字典(Dictionary)、集合屬於可變類型。
索引
索引可以理解爲元素的下標,我們可以通過索引(index)來獲取序列中的元素。序列中每個元素都有一個位置,按照順序進行標記,索引是從0開始的整數,第一個位置索引爲0,第二個位置索引爲1,以此類推。
索引的用法:使用 序列名[索引值]
切片
使用方法: 字符串[開始索引:結束索引:步長]
-
開始索引、 結束索引指定的區間屬於左閉右開型 [開始索引, 結束索引),所以不包含索引結束元素。
-
如果索引從0開始,開始索引數字可以省略,但冒號不能省略。到末尾結束,結束索引數字可以省略,冒號不能省略
常用的索引實例:
str='testers'
連續式數據
非連續式數據
1.字符串
創建:
s1='hellotesters'
s2="hello world!"
操作:
print(s1[0])#字符串索引
print(s1[0:5])#字符串切片
print(s1*3)#字符串複製
print(s1+s2)#字符串拼接
print(len(s1))#輸出字符串長度
#s1.strip()#截掉字符串兩側指定的字符
print(s1.split('o'))#以字母切割字符串,o被切走
print(s1.replace('testers','world'))#將s1中的testers替換爲world
2.列表list
概念:存儲多個有序任意類型的數據,屬於可變類型。
列表用[]表示。
list= ['a','b','c','d']
列表的創建
list1 = []#創建一個空列表`
list2 = ['a','b','c','d']#按順序存儲4個值的列表`
list3 = [10,'hello',True,[1,2,3]]#列表中可以存儲任意類型的數據
訪問列表對象
list[0]#索引
list[0:2]#切片
常見操作
list.remove('hello')#刪除指定元素
list.reverse()#反轉列表
list.pop()#根據索引刪除並返回被刪除的元素
list.append()# 向列表的最後添加一個元素
list.insert()# 向列表的指定位置插入一個元素
list.clear()# 清空序列
list.sort()#升序
list.sort(reverse=True)#降序
3.元組tuple
概念:類似於列表,但是元組是不可變類型的,創建元組後,無法修改元組的值,無法添加或修改元素。
使用()來創建元組
tuple1 = () # 創建了一個空元組,如果元組不是空元組,它裏邊至少要有一個,
tuple2 = (1, 2, 3, 4, 5) # 創建了一個5個元素的元組
訪問元組對象
tuple2[0]#索引
tuple2[0:2]#切片
-
字典使用鍵值對存儲數據,鍵值對之間使用 逗號分隔,每個鍵值對用冒號分隔。
-
鍵必須是唯一的(字符串、數字、元組)
-
值可以去任意類型數據。
d = {'name':'張三', 'age':18, 'gender':'男'}
常用操作:
print(d['name']) #根據key獲取value
d['name'] = '李四'# 修改字典值
d['address'] = '高新路'# 向字典中添加key-value
del d['a'] # 刪除
d.clear()#清空字典
d.values()#所有value列表
d.keys()#所有key列表
d.items()#返回字典中所有的項,(key,value)元組列表
5.集合
集合是一個無序的,不重複的數據組合。可以實現數據的去重以及兩組數據交集、差集、並集等操作。
使用 {} 來創建集合
集合的三個原則:
-
每個元素必須是不可變類型(可作爲字典的key)
-
沒有重複的元素
-
無序
s = {10,3,5,1,2,1,2,3,1,1,1,1} #創建集合
s = {[1,2,3],[4,6,7]}#創建集合
s.add()# 向集合中添加元素