1.列表l = [1, 2, 3, 4, 2, 2, ]res = l.count(2)print(res) print(l.count(2)) # 3 2在列表中出现了三次print(l.count(3)) # 1 2在列表中出现了一次
l.clear 清空 print(l.clear()) # none 没有返回值print(l) # [] 空列表
l.reverse() 反转print(l.reverse) # none 没有返回值print(l) # [2, 2, 4, 3, 2, 1] 反转列表
l=[3,2,4,5,]l.sort() 排序升print(l) # [2 ,3 ,4 ,5 ,]1.sort(reverse=True)print(l) 排序降 # [5, 4, 3, 2,]
5.队列与堆栈# 队列 先进先出# l1 = []# # 先进# l1.append('first')# l1.append('second')# l1.append('third')# # 先出# print(l1.pop(0))# print(l1.pop(0))# print(l1.pop(0))
# # 堆栈 先进后出# l1 = []# l1.append('frist')# l1.append('secound')# l1.append('thrid')# # 先出# print(l1.pop())# print(l1.pop())# print(l1.pop())
6.元组 tupleres = tuple((1, 2,)) #定义元组print(res) # (1, 2)print(type(res)) # <class 'tuple'>
# # # 在定义容器类型的时候,哪怕内部只有一个元素,你也要用逗号隔开 区分一下(******)# # 因为当定义元组时如果()中只有一个元素会识别成数字,字符串或者其他的东西,只有加了逗号才能识别为元组
t = (1, 2, 3, 'a', 'b', [1, 2, 3])print(t[0]) # 1 元组可索引t[-1] = 'haha'print(t) # 报错 元组不可更改性t[-1][0] = '我改了'print(t) # (1, 2, 3, 'a', 'b', ['我改了', 2, 3]) 元组中的列表为可变类型所以可以改这个列表的值
t = (1, 2, 3, 'a', 'b', [1, 2, 3])del t[0]print(t) # 报错 元组不可删除性
# 切片(顾头不顾尾,步长)# print(t[::2])# 长度# print(len(t))# 成员运算in和not in# print('a' in t)# 循环# for i in t:# print(i)
"""能存多个值有序不可变"""
7.集合 """1.关系运算2.去重"""s = {1, 2, 3, 4, } # <class 'set'>print(type(s))s1 = set({7, 8, }) # 定义集合print(type(s1))s2 = set()print(type(s2)) # 空集合
要注意# x = {} # <class 'dict'> 如果你仅仅只写了一个大括号 那么python默认将它当做字典类型# print(type(x))
# 集合的元素遵循三个原则:# 1:每个元素必须是不可变类型# 可变:不可hash# 不可变:可hash# s = {1,2,3,4,5,6,'a',(1,2),[1,2]} # 报错# s = {1,2,3,4,5,6,'a',(1,2),{"name":'jason'}} # 报错
s = {1, 2, 3, 3, 4, 4, }print(s) # {1, 2, 3, 4} 会将重复的元素自动去除print(s[1]) # 报错 不可索引的都是 无序# 注意集合的目的是将不同的值存放到一起,不同的集合间用来做关系运算,无需纠结于集合中单个值
7.集合的用法# 父集:>,>= 子集< ,<=s = {1, 2, 3, 4, 55}s2 = {1, 2, 666}s3 = {1, 3, 2, }print(s >= s2) # false 检测s是否包含了s2print(s3 <= s) # True 检测s3是否存在于s中"""了解issubset()issuperset()"""
pythons = {'jason', 'nick', 'tank', 'egon', 'kevin', 'owen', 'alex'}linux = {'frank', 'jerry', 'tank', 'egon', 'alex'}# 既报名python也报名linux的学生姓名print(pythons & linux) # 交集
# 只报名python的学生姓名print(pythons - linux)
# 只报名linux的学生姓名print(linux - pythons)
# 没有同时报名两门课程的学生姓名print(pythons ^ linux) # 对称差集
# 取出所有报了名的学生姓名print(pythons | linux) # 并集
s = {1, 2, 3, 4, 5}print(s.add(666))print(s.add((1, 2, 3, 4))) # 将容器类型也当成一个元素传入
8.字典 d3 = {'name': 'jason', 'password': '123'}print(d3['name']) # jsasond3['name'] = 'egon'print(d3['name']) # egon 通过key去改变value
d2 = {'name': 'jason', 'name': 'tank', 'name': 'nick', 'password': 123}print(d2['name']) # nick 强调:字典的key是不能重复的 要唯一标识一条数据# 如果重复了 只会按照最后一组重复的键值对存储
d3 = {'name': 'jason', 'password': '123'}d3['age'] = 18 # 赋值语句当key不存在的情况下,会自动新增一个键值对(******)print(d3) # {'name': 'jason', 'password': '123', 'age': 18}
删除# d3 = {'name':'jason','password':'123'}# del d3['name'] # 只对键操作就可以了
# res = d3.pop('name') # 弹出仅仅是value# res = d3.pop('age') # 当键不存在的时候直接报错
d3 = {'name': 'jason', 'password': '123'}d3.clear()print(d3)# {} 清空
9.定义字典 三种其一 直接命# d1 = {'name':'jason','password':123}
其二 通过函数命# d2 = dict(name='jason',password=123,age=18) ## print(d2,type(d2))
其三 解压赋值法 只做了解
10.字典k-y获取 key(),value()键值对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
11.字典通过key获取value的方式 2种 区别在于是否会报错其一 d1 = {'name':'jason','pwd':123}print(d1['name']) # jasonprint(d1['age']) # 报错 不存在age键
其二 dict.get()d1 = {'name': 'jason', 'pwd': 123}print(d1.get('name')) # jasonprint(d1.get('name', 'ao')) # jason name键存在会打印对应键的值print(d1.get('age')) # None 当字典的key不存在的情况 不报错 返回Noneprint(d1.get('age', 'ao')) # ao age键不存在会返回输入的第二个元素ao# 所以res = print(d1.get('age', 'ao'))存在,就像pop()可以取返回值,而del不能取返回值一样
12.dict.fromkeys() 快速的创建一个字典l1 = ['name','password','age','hobby']print(dict.fromkeys(l1,123)) # {'name': 123, 'password': 123, 'age': 123, 'hobby': 123}
12.dict.popitem() 弹出d1 = {'name':'jason','age':18}# dict.popitem()print(d1.popitem()) # ('age', 18) 尾部以元组的形式弹出键值对
13.dict.setdefault() 新增键值对 d1 = {'name': 'jason', 'pwd': 123}res1 = d1.setdefault('name', 'xxoo')print(d1, res1) # {'name': 'jason', 'pwd': 123} jason 当键存在的情况下 不修改值 并且将原先key对应值返回给你res2 = d1.setdefault('age', 18) print(d1, res2)# {'name': 'jason', 'pwd': 123, 'age': 18} 18 当键不存在的情况下 新增一个键值对 并且将新增的键值对的值返回给你
14.dict.update() 更新键值对d1 = {'name':'jason','pwd':123}d2 = {"age":18}d1.update(age=666)print(d1) # {'name': 'jason', 'pwd': 123, 'age': 666}
d1 = {'name': 'jason', 'pwd': 123}d3 = {"age": '18', 'name2': 'ao'}d1.update(d3)print(d1) # {'name': 'jason', 'pwd': 123, 'age': '18', 'name2': 'ao'} # 把字典3中的值更新到字典一里
1 = {'name': 'jason', 'password': 123}d1['age'] = 18print(d1) # {'name': 'jason', 'pwd': 123, 'age': 18} 添加一个age键值对
15.可变:list dict set不可变 int float str tuple bool
转载于:https://www.cnblogs.com/night-rain/p/11135341.html
