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,不会改变原来的值