1. 程式人生 > >list迴圈、多維陣列、切片、字典基本操作

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'

,'h']]]

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,這個keyvalue值不會變

 

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())