”““可变类型:list dict set
不可变类型: int float str tuple bool
"""
一.列表使用:
list1= [1,2,3,4,5,6,7]
# count() 统计个数
# res = l.count(8)
# print(res)
# clear() 清空列表
# print(l)
# res = l.clear()
# print(l)
# print(res)
# print(id(l))
# l.reverse() # 将列表反转
# print(id(l))
# print(l)
# l.sort() 排序 默认情况下是从小到大(升序)
# l1 = [43,6,1,7,99]
# l1.sort(reverse=True) # 可以通过指定参数来修改默认的拍讯规则(降序)
# print(l1)
"""
能存多个值
有序的
可变
"""
# 队列 先进先出
# l1 = []
# 先进
# l1.append('first')
# l1.append('second')
# l1.append('third')
# # 先出
# print(l1.pop(0))
# print(l1.pop(0))
# print(l1.pop(0))
# 堆栈 先进后出
# 先进
# l1.append('first')
# l1.append('second')
# l1.append('third')
# 后出
# print(l1.pop())
# print(l1.pop())
# print(l1.pop())
"二.元组
#作用:能够存储多个元素,元素与元素之间逗号隔开 元素可以是任意类型,元组不能被修改
#定义:与列表类型比,只不过[]换成()
age=(11,22,33,44,55)本质age=tuple((11,22,33,44,55))
#优先掌握的操作:
#1、按索引取值(正向取+反向取):只能取
#2、切片(顾头不顾尾,步长)
#3、长度
#4、成员运算in和not in
#5、循环
# t = (1,2,3,'a','b',[1,2,3]) # tuple((1,2,3,'a','b',[1,2,3]))
# print(type(t)) # <class 'tuple'>
# t1 = tuple(1) # 报错 必须传容器类型
# n = ('a')
# n1 = (1)
# print(type(n),type(n1)) # <class 'str'> <class 'int'>
# 在定义容器类型的时候,哪怕内部只有一个元素,你也要用逗号隔开 区分一下(******)
"""
#优先掌握的操作:
#1、按索引取值(正向取+反向取):只能取
t = (1, 2, 3, 'a', 'b', [1, 2, 3])
# print(t[0])
# t[1] = 'hahah'
# t[-1] = 'hahaha'
# t[-1][0] = '我改了' #改变的只是列表
# print(t)
# del t[0]
# print(t)
#2、切片(顾头不顾尾,步长)
# print(t[::2])
#3、长度
# print(len(t))
#4、成员运算in和not in
# print('a' in t)
#5、循环
# for i in t:
# print(i)
# print(t.count('a'))
# print(t.index('xxx'))
"""
能存多个值
有序
元组不可变属于不可变类型
"""
t2 = (1,2,3,4,[1,2])
print(id(t2))
t2[-1].append(666)
print(t2)
print(id(t2)) # 知识修改了元组里面的列表,没有直接改元组
三.字典使用及方法:
#作用:能存存储多组 key:value键值对 key是对value的描述 key通常情况下都是字符串
# 其实这个key只能是不可变类型,value可以是任意数据类型
# #定义:
# d = {'name':'jason','password':123} # d = dict( {'name':'jason','password':123})
#
# d1 = {1:'1',0:'0',1.11:'1.11',(1,2):'到底能不能呢?'}
# print(d1[1.11])
# print(type(d1))
# print(d1[(1,2)])
# d2 = {'name':'jason','name':'tank','name':'nick','password':123}
# 强调:字典的key是不能重复的 要唯一标识一条数据
# 如果重复了 只会按照最后一组重复的键值对存储
# print(len(d2))
# print(d2)
#优先掌握的操作:
#1、按key存取值:可存可取
# d3 = {'name':'jason','password':'123'}
# print(id(d3))
# print(d3['name'])
# d3['name'] = 'egon'
# d3['name'] = 'kevin'
# d3['name'] = 'xxx'
# d3['name'] = 'ooo'
#
# d3['age'] = 18 # 相当于把age:18 添加进去, 赋值语句当key不存在的情况下,会自动新增一个键值对(******)
# print(d3,id(d3))
#2、长度len
# 统计的键值对的个数
#3、成员运算in和not in 对于字典来说只能判断key值
# d3 = {'name':'jason','password':'123'}
# print('123' in d3)
# print('name' in d3)
#4、删除
# d3 = {'name':'jason','password':'123'}
# del d3['name']
# print(d3)
# res = d3.pop('name') # 弹出仅仅是value
# res = d3.pop('age') # 当键不存在的时候直接报错
# print(res)
# print(d3)
# d3.clear()
# print(d3)
# 定义字典的三种方式
# 掌握
# d1 = {'name':'jason','password':123}
# 掌握
# d2 = dict(name='jason',password=123,age=18) # (******)
# print(d2,type(d2))
# 了解即可
# l = [
# ['name','jason'],
# ['age',18],
# ['hobby','read']
# ]
# d = {}
# for i in l:
# print(i) # ['name','jason'],['age',18]...
# for k,v in l:
# print(k,v)
# d[i[0]] = i[1]]
# d[k] = v
# print(d)
# d3 = dict(l)
# print(d3)
#5、键keys(),值values(),键值对items()
# d1 = {'name':'jason','password':123}
# print(d1.keys()) #取键的所有值
# dict_keys(['name', 'password']) 老母猪
# # # for k in d1.keys():
# # # print(k)
# print(d1.values()) # dict_values(['jason', 123]) 老母猪 现在就把它当成一个列表来看即可
# #
# print(d1.items()) # dict_items([('name', 'jason'), ('password', 123)])
# 就把它看成是列表套元组,元组的第一个元素是字典的key 第二个元素是字典的value
# get()根据key获取value(*******************************)
# d1 = {'name':'jason','pwd':123}
# print(d1['name'])
# print(d1['age'])
# print(d1.get('name','你给我的name在字典的key中'))
# res = d1.get('age') # 当字典的key不存在的情况 不报错 返回None
# res1 = d1.get('xxx','你给我的age在字典的key中') # 当字典的key不存在的情况 不报错 返回None
# # get可以传第二个参数。当你的key不存在的情况下,返回第二个你写好的参数信息
# print(res1)
# print(d1.get('xxx','asdsad'))
# 第二个参数不写的话 当key不存在的情况下返回None,写了就返回写了内容
# dict.fromkeys() 快速的创建一个字典
l1 = ['name','password','age','hobby']
# print(dict.fromkeys(l1,123))
# dict.popitem() #弹出
# print(d1.popitem()) # 尾部以元组的形式弹出键值对
# dict.setdefault()
# d1 = {'name':'jason','pwd':123}
# res1 = d1.setdefault('name','xxoo') # 当键存在的情况下 不修改值 并且将原先key对应值返回给你
# print(d1,res1)
# res2 = d1.setdefault('age',18) # 当键不存在的情况下 新增一个键值对 并且将新增的键值对的值返回给你
# print(d1,res2)
# dict.update()
# d1 = {'name':'jason','pwd':123}
# d2 = {"age":18}
# # d1.update(d2)
# d1['age'] = 18
# d1.update(age=666)
# print(d1)
#6、循环
# d1 = {'name':'jason','password':123}
# for i in d1:
# print(i)
"""
存多个值
无序
可变
"""