Day3:列表、list循环、多维数组、字典、字典嵌套

1、列表

stus=['yalun','xiaopang']可以叫下标、索引、角标
print(stus)

  

增加元素,首先定义一个空列表
stus=[]
stus.append('yalun') #在list末尾增加一个元素
stus.append('xiaopang') #在list末尾增加一个元素
stus.insert(1,'xiaomi') #在指定位置增加元素
stus.insert(2,'王银梅') #在指定位置增加元素
stus.insert(20,'周永波') #如果指定的下标不存在,那么就在末尾增加
print('stus的长度是',len(stus))
print(stus)

  

修改元素
删 1、pop:为空时默认删除最后一个元素、可以传入指定的下标 # 2、remove:删除指定的元素3、del:删除指定元素4.clear:清空

  

stus[1] = 'hello' #找到要改的那个下标,直接赋值 print(stus)
stus.remove = ('yalun')

  

2、list循环

name= ['jabk','fat','small','jay']
for i ,j in enumerate(1,name)  #eumerate:想同时取到他的下标和值,默认从0开始取值
    print('%s ->%s'%s(i,j))
例子:

name= ['注册','登录','退出','购物']
print('请输入对应的编号进行操作')
for i , j in enumerate(name,1):
print('%s->%s'%(i,j))

  

3、多维数组

# stu = [1,2,3,4,5,6,7,8,9]
# stu0 = [1,2,3,4,['小狗','小猫'],['ha']]  #二维数组
# stu0[5][0] = '冻酸奶'  #改下标的值,多层嵌套的时候一定要一层层去找
#print(stu0)
stu1 = [1,2,3,4,['嘿嘿','小米',['西瓜','葡萄']]] #三维#多维数组并不是有几个list就代表几维数组,是往里嵌套的
# stu1[4][2][0] = '冻酸奶'
stu1[4][2].insert(1,'fat') #加入数据
print(stu1)

4、切片:list取值的一种方式,他能指定取值范围,但是顾头不顾尾

stu1 = [1,2,3,4,['嘿嘿','小米',['西瓜','葡萄']]] #三维#多维数组并不是有几个list就代表几维数组,是往里嵌套的

print(stu1[1:4])
print(stu1[0:4:2])    #2代表步长,代表跳过了一个元素
print(stu1[0:4:-1]) #2代表步长,代表跳过了一个元素
#下标 索引、切片 同样适用于字符串  字符串也是可以循环的
name = '小明天'
print(len(name))
print(name[1:3])

 5、字典:key-value的形式

1、查

stu_info = {"name":"王志华","age":18,"addr":"北京",'name' :'xiaomi'}
print(stu_info['money'])   #想要查询直接print加中括号,直接查就行了  #print[]也是查的一种方式,当取值不存在时会报错
print(stu_info['money'])  #取值不存在时返回none
print(stu_info['money',500]) #当在字典中get不到money的值,那么就返回默认值500
# # print(stu_info.get('sex',500))  #如果从字典里get不到money的值,就返回默认值500
# # #取key不存在时会怎样
# # #.get取值不存在的时候不会报错,会返回个none.如果前面get不到值,可以指定一个默认的值

2、修改
stu_info['name'] = 'xiaomi'   #找到那个值直接修改
print(stu_info)

3、新增

stu_info['sex'] = '男'   #字典里没有这个值就会直接新增上
stu_info.setdefault('num',100)  #使用setdefault新增一个已经存在的值,他不会改变原来key的值

4、删除
stu_info.pop('name') #删除不存在的也会报错,一般用这个  
del stu_info['name']#删除不存在的值会报错
stu_info.clear()  #清空这个字典

5、更新
dic1 = {'num':1}
dic2 = {'num':2}
dic1.update(dic2)
6、获取字典里所有的key和value
stu_info = {"name":"王志华","age":18,"addr":"北京"}

print(stu_info.keys())
print(stu_info.values())

直接循环字典也可以获取到字典里的key和value,这种快一点
stu_info = {"name":"王志华","age":18,"addr":"北京"}
for k in stu_info:
print('%s->%s'%(k,stu_info.get(k)))
直接调用items可以直接调用字典里的key和value
for k ,v in stu_info.items():
print('%s--%s'%(k,v))

7、怎么判断字典里的key存在不存在
stu_info = {"name":"王志华","age":18,"addr":"北京"}
print('name' in stu_info)   #返回true或者false
 

 

posted @ 2020-07-09 22:32  超人奥莉加  阅读(245)  评论(0编辑  收藏  举报