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

 

 

 

猜你喜欢

转载自www.cnblogs.com/zhangfangfang/p/10248603.html