python数据类型:int、string、float、boolean
可变变量:list
不可变变量:string、元组tuple
1.list
list就是列表、array、数组
列表根据下标(0123)取值,下标也叫索引、角标、编号
new_stus =['刘德华','刘嘉玲','孙俪','范冰冰']
最前面一个元素下标是0,最后一个下标是-1 ,也就是说0是刘德华,-1是范冰冰
print(new_stus[0]) print(new_stus[-1])
增:
append是在列表末尾增加一个元素
citys=[] citys.append('北京')
insert可以在指定位置(下标)增加元素,0就是第0个位置
citys.insert(0,'shanghai')
删:
pop删除某一个元素,删除-1就是删除最后一个元素
citys.pop(-1)
remove删除指定元素
citys.remove('北京')
clear是清空
citys.clear()#清空 print(citys)
del删除指定位置元素
del citys[-1] print(citys)
修改:通过下标修改
citys[0]='南京'#修改的时候,如果指定的下标不存在,会报错
查:
print(citys[0])#指定位置 print(citys.index('bj'))#获取元素的下标,如果找不到那个元素的话会报错 print(citys.count('bj'))#获取元素的数量 print(citys.reverse())#就是把list字符串反转一下,但是什么也没返回 print(citys)
list循环取值:
#list循环 lists1 = ['刘德华','范冰冰','谢霆锋','王菲','李冰冰',[11,33,6,7]] for name in lists1: if type(name)==list: for i in name: print(i) print(name)
2.字典
字典是key--value形式,字典是无序的
字典俩边用in来判断的时候是判断key是否存在
优点:1.取数据方便
2.速度快
infos = { 'name':'刘德华', 'sex':'男', 'addr':'香港', 'age':18 }
查:
get
print(infos.get('name')) print(infos.get('ii'))#如果ii取不到,就是None print(infos.get('ii',110))#如果ii取不到,把值指定为110
中括号[]
print(infos['name']) print(infos['ee'])
增:
infos['phone']=1242132556 #增加一个key infos.setdefault('女朋友','嘿嘿嘿')# key value infos.setdefault('name','谢霆锋')# 如果key存在的话,不能修改值
修改:
infos['name']='谢霆锋' #如果key存在的话,可以修改值
删除:
pop删除指定key
infos.pop('name')#指定key删除
popitem随机删除
infos.popitem() #随机删除一个key
del删除指定key
del infos['phone']#指定key来删除
clear清空字典
infos.clear() #清空字典
方法:
获取字典的key/value
print(infos.values()) #获取到字典所有的value print(infos.keys())#获取到字典所有的key print(infos.items())#获取到字典多有k-v
3.元组
如果元组里面只有一个元素的话,那么你必须在元素后边加逗号
t=(1,2,'e','a')
打印类型
print(type(t))
找元素下标
print(t.index(2)) #找到元素的下标
找元素的个数
print(t.count(2))#找到元素的个数
4.切片
切片是list取值的一种法式,同样适用于字符串,位置之间用冒号连接
print(nums[1:3]) #切片定义:想从list里取多个值 顾头不顾尾 1表示从位置1开始出 print(nums[1:])#如果从某个下标开始去,取到末尾结束,那么末尾可以不写 print(nums[:2])#如果从头开始去,取到后面某个下标结束,那么开头可以不写 print(nums[:])#取到所有
lis强制转换成list
# lis = list(range(1,21)) print(lis) print(lis[:11]) print(lis[:11:2])#2是步长 表示隔几个取一次 默认不写的话隔一个取一次 如果步长是正数 从左到右取值 print(lis[:11:-1])#步长是-1 如果步长是负数 从右到左边取值
list反转
lis.reverse() #反转,会改变list的值 new_list = lis[::-1] print(lis[::-1])#反转,产生了一个新的list,不会改变原来的值