目錄
前言
漫漫python路開始,作爲一個程序員,要寫的了前端,做的了後端,寫的了sql,懂的了部署,最近火熱的python當然也要搞起來,所以不得不折騰起來了。來,左邊跟我一起學java,右邊一起從小白學python,一起學習,一起成長
一、列表
1、列表的格式:
一個列表需要用中括號[ ]
把裏面的各種數據框起來,裏面的每一個數據叫作“元素”。每個元素之間都要用英文逗號隔開。
例如:names = ['張三','李四','王五']
names = ['張三','李四','王五']
for i in names
print(i+',你好')
運行結果:
2、打印一個元素
當然,也可以一個個的打印,下標從0開始
names = ['張三','李四','王五']
print(names[1]+',你好')
3、同時打印多個元素
同時打印多個元素,我們用冒號來切片,顧名思義,就是將列表的某個片段拿出來處理。這種切片的方式可以讓我們從列表中取出多個元素。
list2 = [0,1,2,3,4,5,6,7,8,9]
print(list2[:])
print(list2[2:])
print(list2[:2])
print(list2[1:3])
print(list2[2:4])
對於上面的輸出,可能大家比較難記,有點類似於java的substr函數了,大家只要記住下面的這句口訣就可以了:冒號左右空,取到頭;冒號左要取,右不取
4、給列表增加和刪除元素
增加元素
需要用到append()函數給列表增加元素,append的意思是附加,增補。用append()給列表增加元素,每次只能增加一個元素
列表中的元素可以是字符串、數字等,也可以是列表本身(即列表內部支持嵌套),append函數後的參數只要滿足數量爲一即可(單個列表也會視作一個元素)。append後的元素,會添加在列表的末尾。
names = ['張三','李四','王五']
names.append('趙六')
print(names)
刪除元素
用到del()函數,del語句非常方便,既能刪除一個元素,也能一次刪除多個元素(原理和切片類似,左取右不取)
names = ['張三','李四','王五','趙六']
print(names)
del(names[3])
print(names)
del(names[0:2])
print(names)
二、字典
上面的列表類似java 的list功能,python還有一種就是類似java的map功能
1、字典的格式
小明、小紅、小剛分別考了95、90和90分,還用列表來裝數據的話,我們需要新創建一個列表來專門放分數,而且要保證和姓名的順序是一致的,很麻煩,所以類似這種名字和數值(如分數、身高、體重等)兩種數據存在一一對應的情況,用第二種數據類型——“字典”(dictionary)來存儲會更方便.
字典的元素是由一個個鍵值對構成的,用英文冒號連接。如'張三':18
,其中我們把'張三'
叫鍵(key),18
叫值(value)。這樣唯一的鍵和對應的值形成的組合,我們就叫做【鍵值對】,字典中的鍵具備唯一性,而值可重複
格式:ages = {'張三':18,'李四':19,'王五':20}
列表通過索引來獲取值,比如list[0] ,而字典是通過鍵來獲取值的
比如
ages = {'張三':18,'李四':19,'王五':20}
print(ages['張三'])
2、給字典增加/刪除元素
刪除字典裏鍵值對的代碼是del語句del 字典名[鍵]
,而新增鍵值對要用到賦值語句字典名[鍵] = 值
。
ages = {'張三':18,'李四':19,'王五':20}
print(ages['張三'])
#刪除
del ages['張三']
print(ages)
#增加
ages['趙六'] = '21'
print(ages)
三、列表和字典的相同處
在列表和字典中,如果要修改元素,都可用賦值語句來完成
names = ['張三','李四','王五']
names[1] = '趙六'
print(names)
ages = {'張三':18}
ages['張三'] = 20
print(ages)
四、互相嵌套使用
# 最外層是大括號,所以是字典嵌套列表,先找到字典的鍵對應的列表,再判斷列表中要取出元素的偏移量
students = {
'第一組':['小明','小紅','小剛','小美'],
'第二組':['小強','小蘭','小偉','小芳']
}
print(students['第一組'][3])
#取出'第一組'對應列表偏移量爲3的元素,即'小美'
# 最外層是中括號,所以是列表嵌套字典,先判斷字典是列表的第幾個元素,再找出要取出的值相對應的鍵
scores = [
{'小明':95,'小紅':90,'小剛':100,'小美':85},
{'小強':99,'小蘭':89,'小偉':93,'小芳':88}
]
print(scores[1]['小強'])
#先定位到列表偏移量爲1的元素,即第二個字典,再取出字典裏鍵爲'小強'對應的值,即99。
五、列表和字典的不同
列表中的元素是有自己明確的“位置”的,所以即使看似相同的元素,只要在列表所處的位置不同,它們就是兩個不同的列表
而字典相比起來就顯得隨和很多,調動順序也不影響。因爲列表中的數據是有序排列的,而字典中的數據是隨機排列的
# 如果==左右兩邊相等,值爲True,不相等則爲False。
print(1 == 1)
# 1等於1,所以值爲True
print(1 == 2)
# 1不等於2,所以爲False
names1 = ['張三','李四','王五']
names2 = ['王五','張三','李四']
print(names1 == names2)
ages1 = {'張三':18,'李四':19,'王五':20}
ages2 = {'王五':20,'張三':18,'李四':19}
print(ages1 == ages2)