list迴圈、多維陣列、切片、字典基本操作
1、list迴圈
1)for迴圈
stus = ['域內','ysng','xln','yg','gx','jy']
for i in range(len(stus)):
print(i)
2)while迴圈
stus = ['域內','ysng','xln','yg','gx','jy']
count = 0
while count<len(stus):
print(stus[count])
count+=1
3)同時取到元素和元素的下標
for i in range(len(stus)):
print("下標識%s,值是%s"%(i,stus[i]))
for index,stu in enumerate(stus):
print("%s==>%s"%(index,stu))
2、多維陣列
1)陣列stu0 ,二維陣列stu1 ,三維陣列stu2
stu0 = [1,2,3,4]
stu1 = [1,2,3,4,['a','b','c']]
stu2 = [1,2,3,4,['a','b','c',['f','g'
2) 修改
將二維陣列中第四個陣列的第二個元素修改為ha
stu1[4][1] = 'haha'
print(stu1)
3) 插入
將三維陣列中第四個陣列第三個元素中插入ggg
stu2[4][3].insert(0,'ggg')
print(stu2)
3、切片
1) 切片
切片是list取值的一種方式,指定範圍去取值(切片取值,顧頭不顧尾:前面的下標可以取到,後面的下標取不到)
(1) 取值結果3,4,5,6
stu0 = [1,2,3,4,5,6,7,8,9,10
print(stu0[2:5])
輸出:
[3, 4, 5]
(2)如果前面下標沒有寫,說明從0開始取
print(stu0[:6])
輸出:
[1, 2, 3, 4, 5, 6]
(3) 如果後面下標沒有寫,說明取到最後
print(stu0[4:])
輸出:
[5, 6, 7, 8, 9, 10]
(4)如果前後面下標都沒寫,說明從頭取到尾
print(stu0[:])
輸出:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
(5)複製一個新的list
new_stu = stu0[:]
print(new_stu)
輸出:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
2) 步長
(1) 設定步長為2:跳過一個元素取一個元素
print(stu0[0:10:2])
輸出:
[1, 3, 5, 7, 9]
(2)如果步長為負數時,那麼從右往左取值(倒序)
print(stu0[::-2])
輸出:
[10, 8, 6, 4, 2]
4、字典基本操作
1)字典書寫格式
stu_info = [
['xln',18,'女','ssss'],
['ysng',18,'女','ssss'],
['yg',18,'女','ssss'],
['gx',18,'女','ssss'],
]
2)字典查詢
stu_info = {"name":"gx","age":18,"addr":"北京"}
(1)查詢整個字典
print(stu_info)
輸出:
{'name': 'gx', 'age': 18, 'addr': '北京'}
(2)查詢字典中的key
print(stu_info["name"])
輸出:
gx
(3).get方法查詢,如果查詢的key存在,就會輸出key指定的value值;如果查詢的key不存在,就會以後面設定的值代替
print(stu_info.get('money',500))
輸出:
500
3) 字典修改
(1)把字典中的key的value值為“北京”修改為“上海”
stu_info['addr'] = '上海'
print(stu_info)
輸出:
{'name': 'gx', 'age': 18, 'addr': '上海'}
4)字典新增
(1)新增方式1:[]
[]方式可以做修改,可以做新增,如果key存在就修改,如果key不存在就新增
stu_info['phone']= 1234562314
print(stu_info)
輸出:
{'name': 'gx', 'age': 18, 'addr': '上海', 'phone': 1234562314}
(2)新增方式2:.setdefault方法新增,修改一個存在的key,這個key的value值不會變
stu_info.setdefault('email','[email protected]')
print(stu_info)
輸出:
{'name': 'gx', 'age': 18, 'addr': '上海', 'phone': 1234562314, 'email': '[email protected]'}
5)字典刪除
(1).pop方法刪除
stu_info.pop('email')
(2)del方法刪除
del stu_info['email']
(3)清空字典
stu_info.clear()
(4)從字典中隨機刪除一個元素
stu_info.popitem()
6)迴圈字典
(1)迴圈字典,就是每次迴圈字典裡的key(這種取值方式效率較高,速度較快)
stu_info = {"name":"gx","age":18,"addr":"北京"}
for i in stu_info:
s = " %s => %s" %(i,stu_info.get(i))
print(s)
輸出:
name => gx
age => 18
addr => 上海
phone => 1234562314
email => [email protected]
(2).items方法迴圈,前面需要輸入兩個值,直接去key=value值
for k,v in stu_info.items():
print(" %s => %s" %(k,v))
輸出:
name => gx
age => 18
addr => 上海
phone => 1234562314
email => [email protected]
7)判斷key是否存在的兩種方法
(1)判斷是否存在
print('name' in stu_info)
(2).key方法,先把key放到list裡,判斷key是否存在
print('name' in stu_info.keys())