四、列表

常用操作+内置的方法:

1、按索引存取值(正向存取+反向存取):即可存也可以取
# li=['a','b','c','d']
# print(li[-1])
# li[-1]='D'
# print(li)
#
# # li[4]='e'
# del li[0]
# print(li) 2、切片(顾头不顾尾,步长)
# li=['a','b','c','d']
# print(li[0:3]) 3、长度
# print(len(li)) 4、成员运算in和not in
# users=['egon','lxx','yxx','cxxx',[1,2,3]]
# print('lxx' in users)
# print([1,2,3] in users)
# print(1 in users) 5、追加
# li=['a','b','c','d']
# print(id(li))
# li.append('e')
# li.append([1,2,3])
# print(li,id(li)) 6、删除
# li=['a','b','c','d']
# 按照元素值去单纯地删除某个元素
# del li[1]
# res=li.remove('c')
# print(li)
# print(res)
# 按照元素的索引去删除某个元素并且拿到该元素作为返回值
# res=li.pop(1)
# print(li)
# print(res) 7、循环
# li=['a','b','c','d']
# for item in li:
# print(item)

Conclusion

存多个值

有序

可变(1、可变:值变,id不变。可变==不可hash 2、不可变:值变,id就变。不可变==可hash)
print(hash([1,2,3])) # 需要掌握的操作
li=['a','b','c','d','c','e']
# print(li.count('c'))
# li.extend([1,2,3])
# li.append([1,2,3])
# print(li) # print(li.index('z'))
# print(li.index('b'))
# print(li.index('d',0,3)) # li.insert(1,'egon')
# print(li) # li=[3,1,9,11]
# li.reverse()
# print(li) # li.sort(reverse=True)
# print(li) # 队列: 先进先出
# q=[]
# # 入队
# q.append('first')
# q.append('second')
# q.append('third')
# print(q)
# # 出队
# print(q.pop(0))
# print(q.pop(0))
# print(q.pop(0)) # 堆栈: 先进后出
q=[]
# 入栈
q.append('first')
q.append('second')
q.append('third')
# 出栈
print(q.pop(-1))
print(q.pop(-1))
print(q.pop(-1))

五、元组

元组就是一个不可变的列表

# res=tuple('hello')
# res=tuple({'x':1,'y':2})
# print(res)

常用操作+内置的方法:

1、按索引取值(正向取+反向取):只能取
# t=('a','b',1)
# t[0]=111 2、切片(顾头不顾尾,步长)
# t=('h','e','l','l','o')
# res=t[1:3]
# print(res)
# print(t) 3、长度
# t=('h','e','l','l','o')
# print(len(t)) 4、成员运算in和not in
# t=('h','e','l','l','o')
# print('h' in t) 5、循环
# t=('h','e','l','l','o')
# for item in t:
# print(item)

Conclusion

存多个值

有序

# 不可变(1、可变:值变,id不变。可变==不可hash 2、不可变:值变,id就变。不可变==可hash)
t=(1,'a',['x','y','z'])
# print(id(t[2])) # print(id(t))
t[2][0]='X'
# print(t)
# print(id(t)) # print(id(t[2])) # list1=['a','b','c']
# print(id(list1[0]))
# print(id(list1[1]))
# print(id(list1[2]))
#
# print('='*50)
# list1[1]='B'
# print(id(list1[0]))
# print(id(list1[1]))
# print(id(list1[2])) 掌握的方法
t=('a','b','a')
# print(t.index('a'))
print(t.count('a'))

六、字典

常用操作+内置的方法:

1、按key存取值:可存可取
d={'x':1}
# print(d['x'])
# print(id(d))
# d['x']=1111
# print(d)
# print(id(d))
# d['y']=2222
# print(d) 2、长度len
# d={'x':1,'y':2,'z':3}
# print(len(d)) 3、成员运算in和not in
# d={'x':1,'y':2,'z':3}
# print(1 in d)
# print('x ' in d) 4、删除
d={'x':1,'y':2,'z':3}
# del d['y']
# print(d) # res=d.pop('y')
# print(d)
# print(res) # res=d.popitem()
# print(res) 5、键keys(),值values(),键值对items()
# d={'name':'egon','age':18,'sex':'male','hobbies':[1,2,3]}
# # print(d.keys())
# print(list(d.keys()))
#
# # print(d.values())
# print(list(d.values()))
# # print(d.items())
# print(list(d.items())) 6、循环 # for k in d.keys():
# print(k)
# for k in d:
# print(k) # for v in d.values():
# print(v) # for k,v in d.items(): #k,v=('name', 'egon')
# print(k,v)

Conclusion

 存多个值

# 无序

# 可变(1、可变:值变,id不变。可变==不可hash 2、不可变:值变,id就变。不可变==可hash

# 需要掌握的操作
# get方法
# d={'name':'egon','age':18,'sex':'male','hobbies':[1,2,3]}
# v=d.get('namexxxxxxx')
# print(v) # v1=d['namexxxxxxxxxxx']
# print(v1) #update方法
# d={'name':'egon','age':18,'sex':'male','hobbies':[1,2,3]}
# d.update({'x':1,'name':"EGON"})
# print(d) # fromkeys:需求是快速新造出一个字典,value的初始值全都为None,而key是来自于一个列表
# keys=['name','age','sex']
# # d={}
# # for k in keys:
# # d[k]=None
#
# d={}.fromkeys(keys,None)
# print(d) # setdefault
d={"x":1,"y":2} # 按照默认的操作形式
# d['x']=1111 # key存在则修改
# d['z']=1111 #key不存在则新增 # 按照setdefault的形式
# d={"x":1,"y":2}
# res=d.setdefault('x',11111) # 在key存在的情况下不修改值,会返回原值
# print(d)
# print(res) # res=d.setdefault('z',11111) # 在key不存在的情况下会新增值,会返回新增的值
# print(d)
# print(res)

七、集合

1. 什么是集合
在{}内用逗号分隔开多个值,集合的特点:
1. 每个值必须是不可变类型 2. 集合无序 3. 集合内元素不能重复

2. 为何要用集合
1. 用于做关系运算
2. 去重

需要掌握的操作

s1={1,2,3}
# s1.update({3,4,5})
# print(s1)
# print(s1.pop())
# print(s1) # s1.remove(2)
# print(s1) # s1={1,2,3}
# print(id(s1))
# s1.add(4)
# print(s1)
# print(id(s1)) # s1={1,2,3}
# s1.discard(4)
# s1.remove(4)
# print(s1) # s1={1,2,3}
# s2={4,5}
# print(s1.isdisjoint(s2))

Conclusion

存多个值
无序

Python数据类型补充2的更多相关文章

  1. PYTHON 100days学习笔记007-2:python数据类型补充(2)

    目录 day007:python数据类型补充(2) 1.Python3 元组 1.1 访问元组 1.2 删除元组 1.3 元组运算符 1.4 元组索引,截取 1.5 元组内置函数 2.python3 ...

  2. PYTHON 100days学习笔记007-1:python数据类型补充(1)

    目录 day007:python数据类型补充(1) 1.数字Number 1.1 Python 数字类型转换 1.2 Python 数字运算 1.3 数学函数 1.4 随机数函数 1.5 三角函数 1 ...

  3. python数据类型补充

    四.元组 #为何要有元组,存放多个值,元组不可变,更多的是用来做查询 t=(1,[1,3],'sss',(1,2)) #t=tuple((1,[1,3],'sss',(1,2))) # print(t ...

  4. Python数据类型补充1

    一.可变和不可变类型 可变类型: 值变了,但是id没有变,证明没有生成新的值而是在改变原值,原值是可变类型 不可变类型:值变了,id也跟着变,证明是生成了新的值而不是在改变原值,原值是不可变 # x= ...

  5. 7.Python初窥门径(数据类型补充,操作及注意事项)

    python(数据类型补充,转换及注意事项) 数据类型补充 str str.capitalize() 首字母大写 str.title() 每个单词首字母大写 str.count() 统计元素在str中 ...

  6. python之数据类型补充、集合、深浅copy

    一.内容回顾 代码块: 一个函数,一个模块,一个类,一个文件,交互模式下,每一行就是一个代码块. is == id id()查询对象的内存地址 == 比较的是两边的数值. is 比较的是两边的内存地址 ...

  7. python基础数据类型补充

    python_day_7 一. 今日主要内容: 1. 补充基础数据类型的相关知识点 str. join() 把列表变成字符串 列表不能再循环的时候删除. 因为索引会跟着改变 字典也不能直接循环删除.把 ...

  8. Python基础数据类型补充及深浅拷贝

    本节主要内容:1. 基础数据类型补充2. set集合3. 深浅拷贝主要内容:一. 基础数据类型补充首先关于int和str在之前的学习中已经讲了80%以上了. 所以剩下的自己看一看就可以了.我们补充给一 ...

  9. python基础(9):基本数据类型四(set集合)、基础数据类型补充、深浅拷贝

    1. 基础数据类型补充 li = ["李嘉诚", "麻花藤", "⻩海峰", "刘嘉玲"] s = "_&qu ...

随机推荐

  1. java 泛型E T ?的区别

    Java泛型中的标记符含义:  E - Element (在集合中使用,因为集合中存放的是元素) T - Type(Java 类) K - Key(键) V - Value(值) N - Number ...

  2. 远程服务调用RPC框架介绍,微服务架构介绍和RPC框架对比,dubbo、SpringClound对比

    远程服务调用RPC框架介绍,微服务架构介绍和RPC框架对比,dubbo.SpringClound对比 远程服务调用RPC框架介绍,RPC简单的来说就是像调用本地服务一样调用远程服务. 分布式RPC需要 ...

  3. HTTPS实战之单向验证和双向验证

    转载自:https://mp.weixin.qq.com/s/UiGEzXoCn3F66NRz_T9crA 原创: 涛哥 coding涛 6月9日 作者对https 解释的入目三分啊 (全文太长,太懒 ...

  4. 在vim编辑器python实现tab补全功能

    在vim编辑器中实现python tab补全插件有Pydiction,Pydiction可以实现下面python代码的自动补全: 1. 简单python关键词补全 2. python函数补全带括号 3 ...

  5. git 新建本地分支后将本地分支推送到远程库, 使用git pull 或者 git push 的时候报错

    是因为本地分支和远程分支没有建立联系  (使用git branch -vv  可以查看本地分支和远程分支的关联关系)  .根据命令行提示只需要执行以下命令即可git branch --set-upst ...

  6. Django框架----权限管理(设计分析以及具体细节)

    说起权限我们大家都知道,不一样的角色会有不一样的权限.比如就像学生管理系统一样,管理员,老师,学生之间的权限都是不一样的,那么展示的页面也是不一样的.所以,我们现在来看看具体操作. 目标:生成一个独立 ...

  7. yocto doc

    Yocto Project Overview and Concepts Manual https://www.yoctoproject.org/docs/2.6.1/overview-manual/o ...

  8. P3804 【模板】后缀自动机

    P3804 [模板]后缀自动机 后缀自动机模板 详情可见luogu题解板块 #include<iostream> #include<cstdio> #include<cs ...

  9. suse 12sp1 oracle 11g r2 时出现错误 调用/sysman/lib/ins_emagent.mk的目标nmo时出错

    要因为C库的问题,解决办法就是手动指定C库位置出现agent nmhs问题后,找到$ORACLE_HOME/sysman/lib/ins_emagent.mk文件,在文件里找字符串 $(MK_EMAG ...

  10. Python爬虫(三)——对豆瓣图书各模块评论数与评分图形化分析

    文化         经管 ....略 结论: 一个模块的评分与评论数相关,评分为 [8.8——9.2] 之间的书籍评论数往往是模块中最多的